这是我选择使用哪种C#集合类型的策略:
如果集合中的项目数量是固定的,那么使用数组,例如:
string [] directions = new string [] {"north","south","east","west"};
否则总是使用 List<T>
除非您需要更专业的收藏品,例如 Stack<T>, Queue<T>, or Dictionary<TKey, TValue>
但是再也不要使用ArrayList了
根据您的经验,这个策略缺少什么?
我是 Git 新手。我安装了 msysgit,配置了 ssh 并从 GitHub 中提取了一个解决方案(我自己的解决方案,我从另一台计算机上推送了它)。拉动起作用了。
现在,我安装了 tortoisegit 让生活更轻松。它在 Windows 资源管理器中显示正确的项目。我希望在上下文菜单中“拉”和推条目,但我找不到它们。哪里出错了?
当我开始在OpenCL中编程时,我使用以下方法为我的内核提供数据:
cl_mem buff = clCreateBuffer(cl_ctx, CL_MEM_READ_WRITE, object_size, NULL, NULL);
clEnqueueWriteBuffer(cl_queue, buff, CL_TRUE, 0, object_size, (void *) object, NULL, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)
这显然要求我以块的形式对数据进行分区,确保每个块都适合设备内存.执行计算后,我用clEnqueueReadBuffer()读出数据.但是,在某些时候我意识到我可以使用以下行:
cl_mem buff = clCreateBuffer(cl_ctx, CL_MEM_READ_WRITE | CL_MEM_USE_HOST_PTR, object_size, (void*) object, NULL);
Run Code Online (Sandbox Code Playgroud)
执行此操作时,数据的分区已过时.令我惊讶的是,我的表现得到了极大的提升.这是我不明白的事情.从我得到的,当使用主机指针时,设备内存作为缓存工作,但所有数据仍然需要复制到它进行处理,然后一旦完成就复制回主内存.为什么使用显式副本(clEnqueRead/WriteBuffer)慢一个数量级,在我看来它应该基本相同?我错过了什么吗?
谢谢.
我有一个包含 5 个应用程序的系统。每个应用程序都通过 DAL 库访问数据库。在 DAL 中,我有一个包含以下条目的 app.config:
<connectionStrings>
<add name="DataAccessLayer.Properties.Settings.ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\something\something\MyDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
使用 AttachDbFilename 的完整路径效果很好。但我不高兴:
我已将 app.config 文件复制到使用数据库的每个应用程序中。执行此操作的最佳方法 - 将 DAL app.config 复制为其他项目中的链接?
当涉及到无法正常工作的部署时,我不需要完整的路径。app.config 中的相对路径似乎不起作用。理想情况下,我希望能够将 DAL 从源代码管理拉到任何计算机上,而不必担心每次更改连接字符串。这:链接讨论 |DataDirectory| 出于部署目的,但这对我来说在调试中不起作用(除非我使用错误,请参见3)
作为一个单独的问题这可能会更好,但它与 2. - 是否有一种“好的”方法来安排多个项目进行调试?我创建了一个 Bin 目录,并在每个项目设置中将 dll/exe 复制到该 bin 目录。我在这里还有数据库的副本(我在 app.config 中尝试了任何路径,但这也不起作用,|DataDirectory| 也不起作用)。同样令人难以置信的是,相对路径在“调试\工作目录”设置中也不起作用,因此看起来每次将代码检出到新机器时都必须更改这个地方?
对战争与和平表示歉意,并提前感谢您的任何想法。
有谁知道我怎么能在代码中进行等效的XAML绑定?
<DataGrid ... >
<DataGrid.Columns>
<DataGridTextColumn
Binding="{Binding Description}" <=== set in code **
/>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
干杯,
Berryl
===更新====
看起来我一直在寻找的方法是DataGridColumn.GenerateElement
如果是这样,那么这个问题的焦点现在是如何正确设置Binding.我想要做这个代码的原因是我的网格有7列在视觉上相同,其数据可以通过索引知道.
所以我希望能够通过使用具有索引属性的子类DataGridTextColumn来简化xaml,并且只需:
<DataGrid ... >
<DataGrid.Columns >
<local:DayOfWeekColumn Index="0" />
<local:DayOfWeekColumn Index="1" />
....
<local:DayOfWeekColumn Index="7" />
</DataGrid.Columns >
</DataGrid >
Run Code Online (Sandbox Code Playgroud)
===修改过的问题===
假设Binding本身在逻辑上和语法上都是正确的,那么BindingOperations.SetBinding的参数应该是什么?
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem) {
var activity = (ActivityViewModel)dataItem;
var cellData = activity.Allocations[Index];
var b = new Binding
{
Source = cellData,
UpdateSourceTrigger = UpdateSourceTrigger.LostFocus,
Converter = new AllocationAmountConverter()
};
BindingOperations.SetBinding(??, ??, b);
return …Run Code Online (Sandbox Code Playgroud) GEDCOM 5.5文件(GenerationX)唯一成熟的GPL Cocoa编辑器最后一次发布于2003年:http://sourceforge.net/projects/generationx/ 它在Snow Leopard下看起来很不稳定,并且非常需要改造.
最近有人在Google Code上发布了一个概念验证应用程序(与GenerationX无关),但它看起来像一个未维护的项目:http: //code.google.com/p/cocoa-gedcom/
是否有任何Cocoa开发人员对家谱感兴趣并愿意复活任何这些项目?或者其他任何具有良好发布周期的项目我都不知道?
Mac家谱软件市场由昂贵且功能丰富的专有解决方案主导.适用于Mac OS的严格的开源GEDCOM兼容框架将是一件幸事.
我正在寻找在Ubuntu上运行的基于Web的系统的消息/队列解决方案。
该系统基于以下技术构建:
- Javascript(Extjs框架)-前端
- 的PHP
- Python(与加密设备交互的守护程序服务)
- Python pyserial-(串行端口交互)
- 的MySQL
- Linux-Ccustom bash脚本(更新数据库/邮件报告)
该系统具有以下目的:
- 在分布式平台上捕获客户端信息
- 使用硬件设备加密/解密敏感交易
系统故障:
- 用户可以使用Web浏览器访问系统
- 用户捕获客户端信息,然后按“提交”按钮数据被发送到加密设备,系统进入等待状态
- 然后,数据在设备上加密并发送回浏览器
- 加密的数据保存到数据库
- 系统退出等待状态并显示DONE消息
请注意:我已经处理了等待/处理中的消息,所以忽略它。
到目前为止,我所做的是:
- 我创建了一个python守护程序,用于监视数据库视图中是否有任何新请求
- 守护程序服务使用pyserial在设备上执行新请求,并使用“响应”更新请求表。加密内容
- 我在PHP中创建了一个轮询服务,该服务经常检查>请求表中是否存在针对特定请求的“响应”
- 使用适当的等待/完成状态消息创建了Extjs前端
当前设置的问题:
- 并发-我们期望使用数据库作为消息/排队解决方案的任何时候,随时有20个以上的用户提交数据库的加密/解密请求,由于表锁定和仅1个监听请求的监听进程,因此无法扩展
- 守护程序服务-依赖守护程序服务有点冒险,并且数据库开销似乎有点高,每秒轮询一次视图以查找新请求
- 开发-通过仅将请求发送到加密/解密服务而不是执行在db中插入请求,轮询响应以及在守护程序服务中处理请求的整个过程,可以简化我的开发任务。
我的问题:
在这种情况下,理想的消息/查询解决方案是什么?请考虑>我的系统专门在Ubuntu O / S上运行。
我已经做了一些Google服务,遇到了一个叫做“ Stomp”的服务器,但是事实证明它安装起来有些困难,而且缺少一些文档。我也更喜欢那些在设置类似内容方面有经验的个人的建议,而不是一些“如何”指导的建议:)
感谢您的时间
我刚读Rx HOL NET.找到后(示例使用Windows窗体):
var moves = Observable.FromEvent<MouseEventArgs>(frm, "MouseMove");
Run Code Online (Sandbox Code Playgroud)
我想知道如何在一些WPF MVVM设置中实例化并传递对ViewModel的引用?根据我的理解,尝试在ViewModel中过滤此数据流是有意义的.
或者,如何为键盘输入TextBox做类似的事情?例如,在这种情况下,您不会将某些文本屏蔽行为附加到XAML中的控件,而是让VM中的Observer过滤并验证键盘输入.
我完全不在赛道上吗?
我想部署我的django项目,这两种部署方法的最佳(性能):
apache mod_wsgi
我知道mod_wsgi是django开发人员推荐的,但我觉得在运行多个django实例时扭曲效率更高.
c# ×2
algorithm ×1
apache ×1
cocoa ×1
collections ×1
conceptual ×1
data-binding ×1
database ×1
datagrid ×1
django ×1
gedcom ×1
genealogy ×1
git ×1
macos ×1
mod-wsgi ×1
mvvm ×1
mysql ×1
observable ×1
open-source ×1
opencl ×1
python ×1
silverlight ×1
sql ×1
tortoisegit ×1
twisted ×1
ubuntu ×1
wpf ×1