我最近看到很多开发人员的职位发布,其中包括一个或多或少类似的句子:"必须具有N层体系结构的经验",或"必须能够开发N层应用程序".
这让我想问一下,什么是N-Tier架构?如何获得它的经验?
当您在MS SQL Server(我使用的是版本2005)中的列或列数上创建索引时,您可以指定每列上的索引是升序还是降序.我很难理解为什么这个选择就在这里.使用二进制排序技术,任何一种查找都不会那么快吗?它选择哪个订单有什么区别?
我在屏幕空间中有4个2D点,我需要将它们反向投影回3D空间.我知道4个点中的每一个都是3D旋转的刚性矩形的一个角,我知道矩形的大小.如何从中获取3D坐标?
我没有使用任何特定的API,我没有现有的投影矩阵.我只是在寻找基本的数学来做到这一点.当然没有足够的数据将单个2D点转换为3D而没有其他参考,但我想如果你有4个点,你知道它们在同一个平面上都是直角相交的,而且你知道它们之间的距离,你应该能够从中找出它.不幸的是,我无法解释如何.
这可能属于摄影测量的范畴,但谷歌搜索它并没有让我获得任何有用的信息.
现在,我有一个像这样的SQL查询:
SELECT X, Y FROM POINTS
Run Code Online (Sandbox Code Playgroud)
它返回结果如下:
X Y
----------
12 3
15 2
18 12
20 29
Run Code Online (Sandbox Code Playgroud)
我想在一行中返回结果,如下所示(适合在HTML <AREA>标记中使用):
XYLIST
----------
12,3,15,2,18,12,20,29
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用SQL?
我想在表中的每一行中为datetime-type列添加1年.对于数字类型,使用UPDATE语句添加很容易.例如:
UPDATE TABLE SET NUMBERCOLUMN = NUMBERCOLUMN + 1
Run Code Online (Sandbox Code Playgroud)
我想用DATETIME类型做同样的事情......
UPDATE Procrastination SET DropDeadDueDate = DropDeadDueDate + ?
Run Code Online (Sandbox Code Playgroud)
......但我不确定使用什么价值.我可以使用的数字值是"1年"吗?或者SQL Server中是否有DATEADD函数或类似函数?
其他问题
我想这不是针对一个字段,而是针对数据类型'datetime'的数据库中的每个字段.有没有一种简单的方法可以选择"datetime"类型的所有字段并执行添加x年数的更新?我是sql的新手,所以请温柔......
我在SQL Server 2005上运行SQL查询,除了从数据库中查询2列之外,我还想随机返回1列随机数.我试过这个:
select column1, column2, floor(rand() * 10000) as column3
from table1
Run Code Online (Sandbox Code Playgroud)
哪种方法有效,但问题是此查询在每一行返回相同的随机数.每次运行查询时它都是一个不同的数字,但它不会因行而异.我怎么能这样做并为每一行获得一个新的随机数?
我有一个AJAX应用程序,它下载一个JSON对象并使用这些数据使用Javascript DOM函数向HTML <table>添加行.它完美无缺......除了在Internet Explorer中.IE没有出现任何类型的错误,我已经尽可能地验证了浏览器正在执行的代码,但它根本没有效果.我创建了这个快速而脏的页面来演示问题:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title></head><body>
<table id="employeetable">
<tr>
<th>Name</th>
<th>Job</th>
</tr>
</table>
<script type="text/javascript">
function addEmployee(employeeName, employeeJob) {
var tableElement = document.getElementById("employeetable");
if (tableElement) {
var newRow = document.createElement("tr");
var nameCell = document.createElement("td");
var jobCell = document.createElement("td");
nameCell.appendChild(document.createTextNode(employeeName));
jobCell.appendChild(document.createTextNode(employeeJob));
newRow.appendChild(nameCell);
newRow.appendChild(jobCell);
tableElement.appendChild(newRow);
alert("code executed!");
}
}
setTimeout("addEmployee(\"Bob Smith\", \"CEO\");", 1000);
setTimeout("addEmployee(\"John Franks\", \"Vice President\");", 2000);
setTimeout("addEmployee(\"Jane Doe\", \"Director of Marketing\");", 3000);
</script>
</body></html>
Run Code Online (Sandbox Code Playgroud)
我没有尝试IE 8,但IE 7和IE 6都没有显示应该添加的额外行.我无法理解为什么.有谁知道这个问题的好方法,或者我可能做错了什么?
我使用Visual C++和Win32 API学习了Windows编程.如今,似乎大多数应用程序都是使用C#在.NET中开发的.据我所知,大多数情况下,本机代码和托管代码之间没有太大的性能差异.所以我想知道,如果我今天开始编写一个新的桌面应用程序,是否有任何理由(除了我对C++更熟悉的事实),我可能想用非托管C++编写它.NET?使用C++和本机代码还有一些优势吗?或者在Windows平台上用.NET或多或少取代了这种方法?
当然我知道编写低级设备驱动程序和类似程序的人不会在.NET中这样做.我要求参考典型的面向客户端的应用程序,这些应用程序不会直接进行硬件调用.
我在ColdFusion中有一个半大(数百个记录)的1维数组.数组中的每个项都是具有多个属性的结构.我想在数组中搜索具有特定"name"属性的结构.我知道对于一个字符串值数组,我可以使用Java方法,如下所示:
<cfset arrayIndex = myArray.indexOf("WhatImLookingFor") + 1>
Run Code Online (Sandbox Code Playgroud)
...但这对结构数组不起作用.我也知道我可以这样蛮力:
<cfset arrayIndex = 0>
<cfloop from="1" to="#ArrayLen(myArray)#" index="counter">
<cfif myArray[counter].name IS "WhatImLookingFor">
<cfset arrayIndex = counter>
</cfif>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
......但我觉得必须有一种更有效的方法.有人有比这更好的解决方案吗?您可以假设每个结构中都存在"name"属性,并且数组中没有间隙或其他对象.
当我在Visual Studio 2008中使用Build-> Publish Web Site时,大多数时候它会编译站点,然后只是问我"目标文件夹中的所有文件都将被删除.继续?" (或者那种效果).但是,有时候,在Visual Studio中发布项目时,我会得到一个对话框,让我可以选择完全替换文件夹的内容,或者只是用更新的版本替换更改的文件.
我更喜欢在不完全删除文件夹的情况下发布,因为已部署的应用程序会创建用户文件和缓存文件,因为它已被使用,我不想采取额外的步骤来保存.但是,我不确定为什么Visual Studio并不总是给我这个选项.这是一个我可以改变的地方吗?它与我正在使用的.NET版本有关吗?
任何见解都表示赞赏!
编辑 - 关注2009-01-20
我仍然没有想到这一点,但这里有更多的信息.
以下是Win XP桌面上一个ASP.NET项目的发布功能:

这就是我的Vista笔记本电脑上的不同项目的样子:

请注意第二个屏幕截图中的单选按钮,允许我选择在发布之前删除文件夹的内容,或者只是覆盖匹配的文件.我想为每个项目提供这些选项.
两台计算机都运行Visual Studio 2008 Professional(版本9.0.30729.1 SP,根据帮助 - >关于).完全相同的版本.我怀疑操作系统的差异导致了这种功能的改变.它必须是某个地方的设置,对吧?有人知道吗?
asp.net publish build-process visual-studio-2008 visual-studio
sql ×4
sql-server ×4
.net ×1
2d ×1
3d ×1
ajax ×1
algorithm ×1
architecture ×1
arrays ×1
asp.net ×1
c# ×1
c++ ×1
coldfusion ×1
function ×1
geometry ×1
html-table ×1
indexing ×1
javascript ×1
list ×1
managed-code ×1
multi-tier ×1
optimization ×1
publish ×1
random ×1
search ×1
struct ×1
unmanaged ×1