软件开发的难点部分对最终产品/产量有重大影响?如何?
我所期望的是,我应该在哪些方面(比如技术,要求......等)更专注于开发更好的应用程序.
我已经实现了一种"心跳解决方案",我希望看到在实际情况下网络"发生故障"时会发生什么,特别是如果套接字上没有流量时会发生这种情况.
问题: - 我只有一台电脑; - 我在windows/java上;
我想只需拔掉网线/停用网卡就不会影响这两个进程,因为它们在同一个盒子上运行; 是否有程序化解决方案?一种强制关闭套接字的方法?
我有一个想要的课程IList<T>,但我有一个Systems.Collection.IList来自NHibernate的人.
我想创建一个将其转换为的方法IList<T>.我该怎么做呢?
我以前曾就这个话题问了几个问题.在我们能够在工作中实现MVC或LINQ之前,我们需要解决一些问题.
ASP.NET MVC中的多个记录集
使用的MVC的唯一示例仅返回单个结果集.当使用存储过程时,可以检索多个记录集,并且我们倾向于使用存储过程的全部原因有两个原因(我相信很多人也都知道).首先,如果我们需要传递参数,其次,如果我们想要返回多个数据表.在ASP.NET的MVC架构中,这怎么可能?
在本教程中,我们将了解如何检索数据.但是它使用ViewData.Model了表示单个结果集的内容,它没有解释如果返回多个结果集会发生什么,或者如何获取它们.
强类型存储过程输出
此外,ASP.NET网站上使用LINQ进行强类型输出解析的示例是通过使用*.dbml格式实现的,该格式是表模式的镜像,允许使用LINQ查找字段.大.但是,如果您的输出是从不直接映射到视图或表的存储过程自定义的,会发生什么?我们如何从这些存储过程中解析列名?
在上一节中,我描述了本教程,但这也只显示了如何仅为表创建LINQ to SQL,而不是从sproc创建自定义输出.
LINQ列查找
在工作中,我们运行一个宏,它将一堆类导出到我们的App_Code文件夹,因此存储过程参数是预定义的.这样做,所以我们不必调用DeriveParameters,它包含对数据库的额外调用.我们不希望这种情况发生,因为它有很多流量.如果我们使用LINQ,如何解析列数据类型?每当我们定义参数以找出参数的数据类型和名称时,是否有对数据库的调用?事情发生了变化吗?它是否仍然每次都调用DeriveParameters?这些缓存在某个地方吗?
DBML格式
*.dbml文件是否应包含数据库中的所有表?我们有大约15个数据库,每个数据库中有许多表.
每个输出的视图
还有一点要补充这篇文章.而不是手动创建dbml类最好将数据表示为视图,即使它是自定义输出?或者在dbml文件中创建自定义类是否更好?
这必须是最后一个问题,否则我会吃掉自己的手臂
"无法将'SingleResult`1 [IntranetMVC.UserDetail]'类型的对象强制转换为'IntranetMVC.UserDetail'."
这是功能:
Function Index() As ActionResult
ViewData("Message") = "Welcome to ASP.NET MVC!"
Dim userDetail As UserDetail
Dim office As IList(Of Office)
Dim activeUser As IList(Of ActiveUser)
Dim dept As IList(Of Department)
Using db As PersonnelDataContext = New PersonnelDataContext
Dim results As IMultipleResults = db.UserDetail(1168)
userDetail = results.GetResult(Of UserDetail)()
office = results.GetResult(Of Office)()
activeUser = results.GetResult(Of ActiveUser)() …Run Code Online (Sandbox Code Playgroud) 据我了解,C#的foreach迭代变量是不可变的.
这意味着我不能像这样修改迭代器:
foreach (Position Location in Map)
{
//We want to fudge the position to hide the exact coordinates
Location = Location + Random(); //Compiler Error
Plot(Location);
}
Run Code Online (Sandbox Code Playgroud)
我无法直接修改迭代器变量,而是必须使用for循环
for (int i = 0; i < Map.Count; i++)
{
Position Location = Map[i];
Location = Location + Random();
Plot(Location);
i = Location;
}
Run Code Online (Sandbox Code Playgroud)
来自C++背景,我认为foreach是for循环的替代品.但是由于上述限制,我通常会回退使用for循环.
我很好奇,使迭代器不可变的原理是什么?
编辑:
这个问题更多的是一个好奇的问题,而不是一个编码问题.我很欣赏编码答案,但我不能将它们标记为答案.
此外,上面的例子过于简化了.这是我想要做的C++示例:
// The game's rules:
// - The "Laser Of Death (tm)" moves around the game board from the
// start area (index …Run Code Online (Sandbox Code Playgroud) 我有一个方法调用表达式并尝试调用该方法.我找到了一种方法,但是我在检索参数值方面遇到了问题,因为不是每个参数都用ConstantExpression描述.
Expression<Action<T>> = t => t.DoSomething(Par0, Par1, Par2);
MethodCallExpression methodCallExpression = selector.Body
as MethodCallExpression;
// get the information which is needed to invoke the method from the provided
// lambda expression.
MethodInfo methodInfo = methodCallExpression.Method;
object[] arguments = methodCallExpression.Arguments.OfType<ConstantExpression>()
.Select(p => p.Value).ToArray();
// invoke the expression on every item within the enumerable
foreach (TSource item in source)
{
methodInfo.Invoke(item, arguments);
}
Run Code Online (Sandbox Code Playgroud)
另外,我已经看到了一些其他方法来调用该方法,现在我不确定这是什么方法.
var func = expression.Compile();
var success = func.Invoke();
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,如何从中检索方法参数值methodCallExpression.Arguments?
或者有更简单的方法来实现我的目标吗?
这是对这个问题的更通用的重构(消除了Rails的特定部分)
我不确定如何在RESTful Web应用程序中的资源上实现分页.假设我有一个被调用的资源products,您认为以下哪个是最好的方法,以及为什么:
例如.http://application/products?page=2&sort_by=date&sort_how=asc
这里的问题是我不能使用整页缓存,并且URL也不是很干净且易于记忆.
例如.http://application/products/page/2?sort_by=date&sort_how=asc
在这种情况下,看到的问题是它http://application/products/pages/1不是一个独特的资源,因为使用sort_by=price可以产生完全不同的结果,我仍然不能使用页面缓存.
例如.http://application/products/by-date/page/2
我个人认为使用这种方法没有问题,但是有人警告我这不是一个好的方法(他没有给出理由,所以如果你知道为什么不推荐,请告诉我)
任何建议,意见和批评都非常受欢迎.谢谢.
Splats很酷.它们不只是用于爆炸阵列,尽管这很有趣.它们还可以转换为数组并展平数组(请参阅http://github.com/mischa/splat/tree/master以获取他们所做的详尽列表.)
看起来无法对splat执行其他操作,但在1.8.6/1.9中,以下代码抛出"意外的tSTAR":
foo = bar || *zap #=> unexpected tSTAR
虽然这有效:
foo = *zap || bar #=> works, but of limited value
splat在哪里可以出现在表达式中?
我有一个XML文件:
<?xml version="1.0" standalone="yes"?>
<Questionnaire>
<Temp_GridTypeTable_6>
<Column2>Select Yes/No</Column2>
</Temp_GridTypeTable_6>
<Temp_GridTypeTable_1>
<Column2>Rank 1,2,3</Column2>
</Temp_GridTypeTable_1>
<Temp_GridTypeTable_1>
<Column1>I needed the income</Column1>
<Column2>Why did you take a job on this project?</Column2>
</Temp_GridTypeTable_1>
<Temp_GridTypeTable_1>
<Column1>Other</Column1>
<Column2></Column2>
</Temp_GridTypeTable_1>
<Temp_GridTypeTable_2>
<Column2>Select "Yes/No"</Column2>
</Temp_GridTypeTable_2>
<Temp_GridTypeTable_2>
<Column1>No jobs</Column1>
<Column2>344</Column2>
</Temp_GridTypeTable_2>
<Temp_GridTypeTable_3>
<Column2>Input</Column2>
</Temp_GridTypeTable_3>
<Temp_GridTypeTable_3>
<Column1>Unit</Column1>
<Column2>123</Column2>
</Temp_GridTypeTable_3>
</Questionnaire>
Run Code Online (Sandbox Code Playgroud)
我想访问
<xsl:for-each select="Questionnaire/concat('Temp_GridTypeTablenode_',"1"))>
Run Code Online (Sandbox Code Playgroud)
但是这个说法不起作用.
我正在感受一种趋势,即当你广泛使用开源时,你应该追求软件设备,因为它提供了一种避免客户询问它是如何开发的方法.
如果客户看到你正在向他们收取大量资金但却使用了大量免费开源,那么他们就会想要进行更深入的谈判,而不是他们根本无法在框内达到峰值.
还有其他人观察到这种趋势吗?
c# ×3
.net ×1
arrays ×1
asp.net-mvc ×1
java ×1
lambda ×1
linq-to-sql ×1
linux ×1
open-source ×1
pagination ×1
parameters ×1
rest ×1
ruby ×1
sockets ×1
sorting ×1
splat ×1
syntax ×1
system ×1
tcp ×1
windows ×1
xslt ×1