更新2这是一个已知的错误/功能,Ruby 1.9.2加载文件的方式. http://twitter.com/#!/rails/status/72801149769621504
更新:这开始是一个问题,但经过一段时间的努力,我认为它可能无法修复.我想我会发布这个以防其他人看到同样的事情,并想知道在rails和bundler里面发生了什么.
是否有其他人在他们的Rails 3应用程序中看到长时间加载?我将计时器放在environment.rb,application.rb,boot.rb和railties/lib/rails/initializable.rb中.时间以秒为单位,经过时间是自上次记录时间以来的时间.生产加载时间需要更长的时间.部分原因是因为硬件较少而且来自eager_load!(也许来自Thin vs Mongrel).看起来Bundler正占据了大部分的加载时间,我猜这是可以预料的.我测试了dev和prod中的一个应用程序,以及dev中的一个空白应用程序.我测试了2个app服务器,看看它是否是Thin导致它.我也看到了与乘客相似的事情(这使得它在2.2.15中无法使用产生行为的b/c).我对边缘Rails进行了测试,开发中的性能略差14.5秒对14.2秒.如果我删除了我的测试依赖项,它会节省2-3秒,但是当我运行测试时这没有用.我想等待5分钟让我的所有Thin实例重新启动并在测试运行前等待15秒有点烦人,但这是一个可接受的权衡,因为我用Rails 3获得了生产力.如果有人有任何想要帮助加快速度,我全都听见了.以下是测试结果:
注意:我在Rails 2.3中的应用程序在dev中加载时间不到3秒(虽然我已经将一些代码转换为引擎并且自从转移到rails3后添加了haml和twitter_oauth gems)
**使用Rails 3RC和Ruby 1.9.2rc2进行的所有测试
精简版 - CentOS 5.5,Rackspace云服务器2GB实例
测试应用程序#1,具有24个宝石依赖项
start env.rb - Total=0
start app.rb - 0.00110546 elapsed. Total=0.001180052
start boot.rb - 0.000600488 elapsed. Total=0.00178644
end boot.rb - 0.7935529 elapsed. Total=0.795507318
start require rails/all - 0.000189127 elapsed. Total=0.795701199
end require rails/all - 1.086998364 elapsed. Total=1.882735263
start Bundler require - 0.000109708 elapsed. Total=1.88285043
end Bundler require - 8.955853243 elapsed. Total=10.838746673
end app.rb - 0.062975913 elapsed. Total=10.901753753
# … 我通过覆盖其控件模板为我的WPF数据网格创建了一个自定义样式 - 没有什么不寻常的,只是复制了原始模板并对其进行了修改.不幸的是,当绘制网格时,我的ViewModel的完全限定类名显示在标题中(ViewModel恰好是包含DataGrid的UserControl的DataContext).使用Snoop,我缩小了模板中显示此类名的元素:
<DataGridColumnHeadersPresenter
Grid.Column="1"
Name="PART_ColumnHeadersPresenter"
Visibility="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}, Path=HeadersVisibility, Converter={x:Static DataGrid.HeadersVisibilityConverter}, ConverterParameter={x:Static DataGridHeadersVisibility.Column}}"/>
Run Code Online (Sandbox Code Playgroud)
此部分的可视树看起来像这样:
PART_ColumnHeadersPresenter (DataGridColumnHeadersPresenter)
(Grid)
headerBorder (DataGridHeaderBorder)
(Border)
(TextBlock)
Run Code Online (Sandbox Code Playgroud)
这个文本块包含类名!所以问题是
PS要回答下面的评论,我正在为ItemSource和每列指定正确的路径:
<DataGrid
ItemsSource="{Binding Path=Orders, Mode=TwoWay}"
AutoGenerateColumns="False"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn
Header="Creation Time"
Binding="{Binding Path=CreationTime}"
CellStyle="{StaticResource LeftAlignedCellStyle}"
SortMemberPath="CreationTime">
</DataGridTextColumn>
...
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
我没有看到任何必须将TextBlock绑定到列标题边框的位置.甚至不知道它是如何有意义的!
根据阿凡达的评论,我将分享我的整个模板.见下文:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Brushes.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!-- ColumnHeader Gripper Style -->
<Style x:Key="ColumnHeaderGripperStyle" TargetType="{x:Type Thumb}">
<Setter Property="Width" Value="8"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Cursor" Value="SizeWE"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type …Run Code Online (Sandbox Code Playgroud) 我想从工作流中调用一个简单的方法(没有参数,返回void).假设我有以下课程:
public class TestClass
{
public void StartWorkflow()
{
var workflow = new Sequence
{
Activities =
{
new WriteLine { Text = "Before calling method." },
// Here I would like to call the method ReusableMethod().
new WriteLine { Text = "After calling method." }
}
}
new WorkflowApplication(workflow).Run();
}
public void ReusableMethod()
{
Console.WriteLine("Inside method.");
}
}
Run Code Online (Sandbox Code Playgroud)
如何ReusableMethod从我的工作流程中拨打电话?我在看,InvokeAction但这似乎不是我想要的.我还可以编写一个调用此方法的自定义活动,但我对此方案特别感兴趣.这可能吗?
http://en.wikipedia.org/wiki/CMAC
http://www.rfc-archive.org/getrfc.php?rfc=4493
有两个键K1和K2。除了消息 1 与 10^127(1 和 127 个零)不同之外,还有其他原因吗
如果消息携带长度(并且长度也是 CMAC-ed 的消息),仅使用一个随机生成的 K 是否存在任何安全弱点?
我有一个非常大的数据库,我需要图表.该数据库是x64上的SQL Server 2008.它很大,有数百个相关的表,每个表有多达2000个字段(有些是稀疏的),表之间有多个关系(实际上每个表通常有数百个),多个模式......你明白了.
我尝试使用SQL Server Management Studio的数据库图表功能,但它崩溃了Win32Exception:"没有足够的存储空间来处理此命令......"
我尝试在不同的机器上使用Visio的逆向工程功能来连接和绘制它,但是这已经持续了几个小时而没有完成的迹象.
构建这个巨型模式的脚本是我们为工作构建的工具.虽然该工具正常工作,但可视化其输出是很棘手的.
我正在使用一个工具来踢出这个数据库的图表,这样我们就可以做到这一点.有什么建议?
编辑:只是强调,图表确实不应该用于实际有用的参考.它是一个客户关系管理设备,用于演示系统的复杂性/规模.
我正在第一次尝试从 C# 访问 Oracle。我发现 Oracle 不喜欢VarChar参数具有值null(C#)。我本来希望会有一些隐式转换,但我很欣赏这种差异。
所以我需要捕获这些空值并提供DBNull.Value,当然吗?最明显的方法是使用合并运算符??:
param myParm = myObject.MyProperty ?? DBNull.Value;
Run Code Online (Sandbox Code Playgroud)
但它不接受System.DBNull... 的值,所以我必须使用:
param myParm = myObject.MyProperty ?? DBNull.Value.ToString();
Run Code Online (Sandbox Code Playgroud)
...这肯定与以下内容相同:
param myParm = myObject.MyProperty ?? String.Empty;
Run Code Online (Sandbox Code Playgroud)
..这也有效。
但我一直明白,根据 ANSI SQL 规则,空字符串 ("") != NULL 值...但它似乎在 Oracle 中。
无论如何,我的问题是,处理空字符串值的情况的最佳实用或理论方法是什么?是否有我尚未确定的巧妙替代方案?或者这只是我们刚刚接受的 Oracle 的另一个特质?
我希望能够从Web应用程序控制USB设备.
我希望使用Adobe Flex,但我认为Flex不支持访问USB设备.
这可能是使用Java applet,还是使用.NET的类似方法?
谢谢.
我需要从桌面应用程序中的一个Internet时间服务器获取当前时间.我想我需要一些类似请求字符串和正则表达式的东西来从用户想要的任何站点获取时间(可能有几个预定义的站点).
或者可能存在一些免费的库?
谢谢.
我正在尝试构建一个包含一些优先级值的选择列表,然后是一个分隔符,然后是其余的值.我需要在Html Helper中执行此操作,因为我将获得优先级的值以及来自不同源的其余值.
我想要完成的样本:
EUR
GBP
USD
---
SEK
ZAR
.
.
.
Run Code Online (Sandbox Code Playgroud)
我还想确保无法选择分隔符.如果我直接在html中执行此操作,我已设法执行此操作,但在通过帮助程序执行此操作时,我无法禁用分隔符.任何想法如何做到这一点?
c# ×3
.net ×1
ado.net ×1
apache-flex ×1
asp.net-mvc ×1
bundler ×1
c++ ×1
cmac ×1
cryptography ×1
cufon ×1
datagrid ×1
datetime ×1
dbnull ×1
html ×1
html-helper ×1
java ×1
message-authentication-code ×1
null ×1
oracle ×1
qt ×1
schema ×1
selectlist ×1
sql-server ×1
usb ×1
windows ×1
wpf ×1