小编Eri*_*ric的帖子

获取数据库中所有表的大小

我继承了一个相当大的SQL Server数据库.考虑到它包含的数据,它似乎占用了比我预期更多的空间.

有没有一种简单的方法可以确定每个表占用的磁盘空间大小?

t-sql sql-server

1180
推荐指数
18
解决办法
123万
查看次数

复合文字中缺少类型

type A struct {
    B struct {
        Some string
        Len  int
    }
}
Run Code Online (Sandbox Code Playgroud)

简单的问题.如何初始化这个结构?我想做这样的事情:

a := &A{B:{Some: "xxx", Len: 3}} 
Run Code Online (Sandbox Code Playgroud)

预计我会收到一个错误:

missing type in composite literal
Run Code Online (Sandbox Code Playgroud)

当然,我可以创建一个单独的struct B并以这种方式初始化它:

type Btype struct {
    Some string
    Len int
}

type A struct {
    B Btype
}

a := &A{B:Btype{Some: "xxx", Len: 3}}
Run Code Online (Sandbox Code Playgroud)

但它没有第一种方式那么有用.是否有初始化匿名结构的快捷方式?

struct go

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

是否有必要将StreamWriter包装在一个使用块中?

几天前我发布了一些这样的代码:

StreamWriter writer = new StreamWriter(Response.OutputStream);
writer.WriteLine("col1,col2,col3");
writer.WriteLine("1,2,3");
writer.Close();
Response.End();
Run Code Online (Sandbox Code Playgroud)

有人告诉我,在异常的情况下,我应该将StreamWriter包装在一个使用块中.这样的改变会使它看起来像这样:

using(StreamWriter writer = new StreamWriter(Response.OutputStream))
{
    writer.WriteLine("col1,col2,col3");
    writer.WriteLine("1,2,3");
    writer.Close(); //not necessary I think... end of using block should close writer
}
Response.End();
Run Code Online (Sandbox Code Playgroud)

我不确定为什么这是一个有价值的变化.如果在没有使用块的情况下发生异常,编写器和响应仍然会被清除,对吧?使用块让我获得了什么?

c#

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

我何时创建TFS工作区?

有一段时间我有一种唠叨的感觉,我可能忽略了TFS工作空间的有用品质.这里的网站提供了一些很好的背景信息:http://www.woodwardweb.com/teamprise/000333.html.

但是,根据这些信息,我真的不明白何时应该创建一个新工作区.我是否为每个"项目"创建一个?我是否为每个项目分支创建一个?我是否需要在我打算处理的每台计算机上创建镜像工作区?我不确定在做出这个决定时我需要考虑什么.

是否有最佳实践描述在何种情况下使用不同的工作空间?

注意:虽然了解其他人遵循的做法可能会很有趣,但我更感兴趣的是了解如何自己做出决定.我并不是在问"你什么时候创建新的工作区?".相反,我问"我如何决定何时创建新工作区?".

tfs tfs2010

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

使用C#将文件"即时"写入客户端

我正在使用C#和ASP.NET 2.5.

我想要一种简单的方法来动态生成"文件"(比如本例中的csv文件)并将其传输到客户端而不实际将其写入服务器文件系统.

c# asp.net

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

使用Eclipse和Mercurial进行项目设置

我想在使用Eclipse设置多项目工作区方面提出一些建议.换句话说,我打算创建一些应用程序,它将使用两个或更多项目进行最终构建.项目将存储在某个版本控制系统中.这很容易做到.

我正在寻求的建议是如何设置版本控制或Eclipse工作区以使设置新的开发人员/新机器*非常简单.理想情况下,在新机器上新开发者或开发者将只发出一个命令(的东西:它可能是Eclipse的版本控制系统,一些构建系统,甚至是一个脚本); 该命令将建立一个可以构建代码的环境.

我将使用Java作为语言,使用Mercurial进行版本控制,如果这对解决方案很重要的话.我愿意使用构建系统,尽管我对它们中的任何一个都不熟悉.

基本上,我希望学习

  • 项目应存储在存储库中的位置
  • Eclipse应如何导入或以其他方式发现项目
  • 如何启动上述发现

*在这种情况下,新机器意味着具有必要应用程序的机器(例如Eclipse和TortoiseHg)但没有检查代码或任何工作空间

java eclipse version-control

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

在事务期间禁用约束

我正在整理一个表格,用于向某些信息请求发送后续消息。向一组人发送请求并跟踪响应。如果一个人未能回应,则可能会发送零个或多个跟进。我创建了一个表:

FollowupId int primary key, 
RequestId int foreign key (outside this example), 
Follows int foreign key (FollowupId), 
Message varchar
Run Code Online (Sandbox Code Playgroud)

如果一条消息是第一条跟进消息,Follows 将为空。否则,它是其他一些 Followup 的 id。我还在 Follows 上添加了一个独特的约束。也就是说,在任何给定消息之后不能有超过一条消息。

编辑:我还应该突出显示 Follows 上的外键。它引用此表中的 FollowupId。所以如果A->B->C,仅仅删除B会使C中的外键无效。同样,不可能只更新 C 以跟随 A,因为 B 已经跟随 A 并且唯一约束禁止重复。

当然,问题是,如果该消息后面是另一个消息,则删除后续条目现在很困难。在我看来,应该可以禁用约束检查,从而可以删除中间的后续内容,“向上移动”后续后续内容,然后重新启用检查。是否有某种方法可以仅在事务期间禁用约束?

(此外,我知道在此表中包含 RequestId 可能会导致数据不一致。最好有 Followups [FollowupId, Message]、InitialFollowups [FollowupId, RequestId] 和 followingFollowups [FollowupId, Follows] 表。我认为它不必要地使这个例子复杂化。)

sql-server

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

在错误的TFS分支中"移动"变更集

假设我在错误的TFS分支中签入了一个更改.我需要将我的更改发送到另一个分支,然后以某种方式从错误的分支中消除这些更改.这可以在不诉诸选择性复制/粘贴的情况下完成吗?最后我确实希望我在分支机构中的更改错误地将它们添加到......还没有.

如果我没有检查更改,我可以搁置它们,然后使用tfpt来取消搁置到另一个分支.但这不会起作用,因为我已经检查了这些变化.


例:

我有一个MAIN和DEVELOPMENT分支的环境.我需要创建一个名为Buzzsaw的新模块.我有一个开放的解决方案,并且对我的更改进行了修改.然后我检查它们.哎呀.我意识到我刚刚将模块检入MAIN,但它应该已经检查到了开发中.我可以回滚错误的变更集,但之后我需要手动将我的更改应用于开发.大多数受影响的文件在分支之间是相同的,但是有足够的差异我不想复制/粘贴我的更改.

我可以将我的更改从MAIN合并到DEV,然后回滚MAIN.但是现在当我确实希望它们存在时很难将更改带回MAIN(将DEV合并到MAIN现在不会移动该变更集,因为它已经合并).


我能做什么?有一个相当干净的方法来实现这一目标吗?

tfs tfs2010

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

黑莓 - 自定义大小EditField

我试图组合一个看起来像这样的对话框:

填写以下字段
_______________喜欢____________________

其中"_"行是EditFields.

我将所有字段都粘贴在Horizo​​ntalFieldManager中,我将其添加到对话框中.不幸的是,第一个EditField占用了第一行的所有空间.我试图通过创建我自己的扩展BasicEditField的类来覆盖EditField的getPreferredWidth()方法,但是没有成功.

当然必须有一种简单的方法来强制编辑字段的特定大小.我错过了什么?

user-interface blackberry blackberry-editfield

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