如何在不连接第三方模块的情况下制作页面有视频的http服务器示例?
该程序通过 VK API(平均 20-50 个线程)解析用户并在数据库中创建条目。每个用户平均有20个群组,500张照片,200个好友。我在不同的表中保存朋友、群组、用户和照片的记录。总的来说,为了保存第一个用户,我向数据库发出了大约 721 个插入请求。这是每分钟 200-300 个用户 - ~ 216,000 个对数据库的插入请求。因此,通话context.SaveChanges()大约需要 6-10 分钟才能完成。
我尝试使用上下文池 - bulk insert,平均时间为 4-6 分钟。
AutoDetectChangesEnabled = false;或context.AddRange()给出大致相同的结果。
我想到的唯一快速解决方案是对用户数据进行二进制序列化并将其存储在 中byte[],这样每个用户就有 4 个插入请求。这将调用时间减少context.SaveChanges()到 1.2 秒。但随之而来的是一个自然的问题 - 为了至少为用户改变一些东西,有必要反序列化和序列化他的所有数据。
告诉我,在不使用序列化的情况下保存适用于这种情况的大量数据的方法是什么?
有这样一张大象状态表,即一头大象所在位置可以有几种状态。
status:
id int auto_increment pk
slon_id int
status varchar
date datetime
由于软件错误(更准确地说是缺陷),出现了表格的重复记录
1 1 Розовый слон в Африке 18.11.2016...
2 1 Розовый слон в Африке 18.11.2016...
3 1 розовый слон уже в Зимбабве 19.11.2016...
4 2 Зеленый слон в Европе 15.11.2016...
对SQL解决方案感兴趣。有没有办法删除重复的条目?是否可以一次删除重复的条目,以免丢失历史记录?(也就是说,如果有多个关于非洲和粉象的条目,请删除除一个以外的所有条目)。
如何在 MVVM 的框架中制作这样一个带有预览的拖放,就像在 gif 上一样?
是Canvas与对象绑定的集合。按照此答案中的示例,每个对象都已CustomControl在其中实现了通常的拖放操作。
我想在MouseMove制作VisualBrush当前对象时,用这个画笔绘制一个新的矩形并拖动它。但毕竟,它Canvas是绑定到集合中的,事实证明,这个矩形也需要添加到集合中才能显示出来。
<ItemsControl ItemsSource="{Binding itemsList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas IsItemsHost="True" Width="1000" Height="1000"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:CustomControl/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Left" Value="{Binding Position.X}"/>
<Setter Property="Canvas.Top" Value="{Binding Position.Y}"/>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
这是一个线程安全的singleton:
public class Singleton {
private volatile static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
我不明白他为什么要这么做volatile,如果他已经被锁定了Singleton.class。它能救你什么?
