程序设计

专业和发烧友程序员的问答

5
如何在这里使用XPath contains()?
我正在尝试学习XPath。我在contains()这里查看了其他示例,但没有使用AND运算符的示例。我无法使它正常工作: //ul[@class='featureList' and contains(li, 'Model')] 上: ... <ul class="featureList"> <li><b>Type:</b> Clip Fan</li><li><b>Feature:</b> Air Moved: 65 ft. Amps: 1.1 Clip: Grips any surface up to 1.63" Plug: 3 prong grounded plug on heavy duty model Usage: Garage, Workshop, Dorm, Work-out room, Deck, Office & more.</li><li><b>Speed Setting:</b> 2 speeds</li><li><b>Color:</b> Black</li><li><b>Power Consumption:</b> 62 …
142 xml  xpath 


5
如何在项目之间共享IntelliJ Run / Debug配置?
我的应用程序有很多不同的版本。每个项目都是一个独立的intellij项目。每次我打开一个新的配置时,配置列表都会空白: 烦人的事情是我部署到1个虚拟机,每次要测试不同版本时,都必须复制并粘贴调试配置。Intellij根据Intellij实例将此对话框设置为模态,因此我无法在项目实例之间复制和粘贴字段。 最后,我截取了一个配置的屏幕截图,并将字段手动复制到另一个项目中。这是一个非常原始的解决方案。是否有更方便的方法将运行配置从一个项目转移到另一个项目? 我在Windows 7上使用Intellij 13。 我可以在不同项目之间共享IntelliJ Idea的设置吗?可能对此有答案,但问题有所不同。这是关于窗口布局的。因此,我不认为它是重复的。

5
为什么“ null> = 0 && null <= 0”而不是“ null == 0”?
我必须编写一个例程,如果变量的类型为number,则将变量的值加1,否则将变量的赋值为0,其中变量的初始值为null或undefined。 第一个实现是v &gt;= 0 ? v += 1 : v = 0因为我认为没有数字会使算术表达式为假,但是由于null &gt;= 0计算为真,所以这是错误的。然后,我了解到null行为类似于0,并且以下表达式均被评估为true。 null &gt;= 0 &amp;&amp; null &lt;= 0 !(null &lt; 0 || null &gt; 0) null + 1 === 1 1 / null === Infinity Math.pow(42, null) === 1 当然null不是0。null == 0被评估为false。这使看似重言式的表达成为(v &gt;= 0 &amp;&amp; v &lt;= …

8
将PEM密钥转换为SSH-RSA格式
我有der格式的证书,使用此命令从中生成一个公共密钥: openssl x509 -inform der -in ejbcacert.cer -noout -pubkey &gt; pub1key.pub 结果如下: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp/TR+fQi62F79RHWmwKOtFmwteURgLbj7D/WGuNLGOfa/2vse3G2 eHnHl5CB8ruRX9fBl/KgwCVr2JaEuUm66bBQeP5XeBotdR4cvX38uPYivCDdPjJ1 QWPdspTBKcxeFbccDwIDAQAB -----END PUBLIC KEY----- 我如何获得这样的公钥?是从证书还是从这个公钥? ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC7vbqajDw4o6gJy8UtmIbkcpnkO3Kwc4qsEnSZp/TR+fQi62F79RHWmwKOtFmwteURgLbj7D/WGuNLGOfa/2vse3G2eHnHl5CB8ruRX9fBl/KgwCVr2JaEuUm66bBQeP5XeBotdR4cvX38uPYivCDdPjJ1QWPdspTBKcxeFbccDw== 这是通过以下命令获得的: ssh-keygen -y -f private_key1.pem &gt; public_key1.pub
142 openssl  openssh 

8
检查对SQL Server表的更改?
如何在不使用触发器或不以任何方式修改数据库结构的情况下监视SQL Server数据库中对表的更改?我首选的编程环境是.NET和C#。 我希望能够支持任何SQL Server 2000 SP4或更高版本。我的应用程序是另一家公司产品的附加数据可视化。我们的客户群有成千上万,因此我不想在每次安装时都提出修改第三方供应商表的要求。 通过“改变到餐桌”我平均变化表数据,而不是更改为表结构。 最终,我希望更改能够触发我的应用程序中的事件,而不是必须间隔检查更改。 根据我的要求(不进行触发器或架构修改,SQL Server 2000和2005),最好的操作方案似乎是BINARY_CHECKSUM在T-SQL中使用该函数。我计划实现的方式是这样的: 每X秒运行以下查询: SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM sample_table WITH (NOLOCK); 并将其与储值进行比较。如果值已更改,请使用查询逐行浏览表: SELECT row_id, BINARY_CHECKSUM(*) FROM sample_table WITH (NOLOCK); 并将返回的校验和与存储的值进行比较。

4
更改表添加列语法
我试图以编程方式将标识列添加到表Employees。不知道我的语法出了什么问题。 ALTER TABLE Employees ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1) ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY CLUSTERED ( EmployeeID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 我究竟做错了什么?我试图导出脚本,但是SQL Mgmt Studio会执行整个Temp Table重命名的操作。 更新:我认为第一条语句“关键字'COLUMN'附近的语法不正确”令人窒息。
142 sql  sql-server  tsql  ddl 


7
从x到y的协变量数组转换可能会导致运行时异常
我有一个s()的private readonly列表。稍后,我将s 添加到此列表,并将这些标签添加到如下所示:LinkLabelIList&lt;LinkLabel&gt;LinkLabelFlowLayoutPanel foreach(var s in strings) { _list.Add(new LinkLabel{Text=s}); } flPanel.Controls.AddRange(_list.ToArray()); Resharper向我显示警告:Co-variant array conversion from LinkLabel[] to Control[] can cause run-time exception on write operation。 请帮我弄清楚: 这是什么意思? 这是一个用户控件,不会被多个对象访问以设置标签,因此,保持这样的代码不会影响它。

4
为什么不能将* Struct分配给* Interface?
我只是在Go导游中工作,我对指针和接口感到困惑。为什么此Go代码无法编译? package main type Interface interface {} type Struct struct {} func main() { var ps *Struct var pi *Interface pi = ps _, _ = pi, ps } 即如果Struct是一个Interface,为什么不*Struct成为一个*Interface? 我收到的错误消息是: prog.go:10: cannot use ps (type *Struct) as type *Interface in assignment: *Interface is pointer to interface, not interface
142 go 


14
将数字插入排序的数字数组的有效方法?
我有一个已排序的JavaScript数组,并且想在该数组中再插入一个项目,以使结果数组保持排序状态。我当然可以实现一个简单的quicksort样式的插入函数: var array = [1,2,3,4,5,6,7,8,9]; var element = 3.5; function insert(element, array) { array.splice(locationOf(element, array) + 1, 0, element); return array; } function locationOf(element, array, start, end) { start = start || 0; end = end || array.length; var pivot = parseInt(start + (end - start) / 2, 10); if …

14
是否对SQL WHERE子句进行了短路评估?
是否在SQL WHERE子句中对布尔表达式进行短路求值 ? 例如: SELECT * FROM Table t WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key) 如果@key IS NULL的计算结果为true,则@key不是NOT AND @key = t.Key的计算结果吗? 如果否,为什么不呢? 如果是,是否可以保证?它是ANSI SQL的一部分还是特定于数据库的? 如果数据库特定,SqlServer?甲骨文?MySQL的?

2
CUDA块/线程/线程如何映射到CUDA内核?
我已经使用CUDA几周了,但是我对块/线程/线程的分配有一些疑问。 我正在从教学角度(大学项目)研究体系结构,因此达到最佳性能不是我的关注。 首先,我想了解一下我是否明白这些事实: 程序员编写内核,并在线程块网格中组织其执行。 每个块都分配给一个流多处理器(SM)。分配后,便无法迁移到另一个SM。 每个SM将自己的块拆分为Warp(当前最大为32个线程)。扭曲中的所有线程均在SM的资源上同时执行。 线程的实际执行由SM中包含的CUDA核心执行。线程和核心之间没有特定的映射。 如果warp包含20个线程,但是当前只有16个内核可用,则warp将无法运行。 另一方面,如果一个块包含48个线程,则它将拆分为2个扭曲,并在有足够内存可用的情况下并行执行。 如果线程在内核上启动,则由于内存访问或长时间浮点操作而被暂停,则其执行可以在其他内核上恢复。 他们正确吗? 现在,我有一个GeForce 560 Ti,因此根据规格它配备了8个SM,每个包含48个CUDA内核(总共384个内核)。 我的目标是确保体系结构的每个核心都执行SAME指令。假设我的代码不需要比每个SM中可用的更多的寄存器,我想到了不同的方法: 我创建了8个块,每个块有48个线程,因此每个SM都有1个块要执行。在这种情况下,这48个线程是否将在SM中并行执行(利用所有48个可用的内核)? 如果我启动64个6线程块,会有什么区别?(假设它们将在SM之间平均映射) 如果我将GPU“淹没”在计划的工作中(例如,创建1024个线程块,每个线程有1024个线程),则可以合理地假设所有内核将在某个时刻使用,并且将执行相同的计算(假设线程永不停止)? 有什么方法可以使用探查器检查这些情况吗? 这个东西有参考吗?我阅读了《 CUDA编程指南》以及“对大型并行处理器进行编程”和“ CUDA应用程序设计与开发”中有关硬件体系结构的章节;但是我找不到确切的答案。

4
setuptools与distutils:为什么distutils仍然是一回事?
Python就可以用于包装和说明项目工具混淆历史:这些包括distutils标准库中,distribute,distutils2,和setuptools(也许更多)。看来,distribute并distutils2投票赞成的停产setuptools,这让两个相互竞争的标准。 据我所知,setuptools提供了更多的选择(例如,声明依赖项,测试等)distutils,但是它没有包含在Python标准库中(还可以吗?)。 现在推荐《Python打包用户指南》 [ 1 ]: 使用setuptools定义的项目和创建源代码分发。 并说明: 尽管您可以将pure distutils用于许多项目,但它不支持定义对其他项目的依赖关系,并且缺少一些便捷实用程序来自动正确填充所提供的包元数据setuptools。在标准库之外,setuptools还为不同版本的Python提供了更一致的功能集,并且(与不同distutils)setuptools将进行更新,以在所有受支持的版本上生成即将到来的“ Metadata 2.0”标准格式。 即使对于确实选择使用的项目distutils,当pip直接从源代码(而不是从预构建的wheel文件安装)安装此类项目时,它实际上也会使用setuptools来构建您的项目。 但是,查看各种项目的setup.py文件可以发现,这似乎并不是一个实际的标准。许多软件包仍在使用,distutils而那些支持的软件包则setuptools经常setuptools与distutils回退导入结合使用: try: from setuptools import setup except ImportError: from distutils.core import setup 然后尝试找到一种写可以由setuptools和安装的安装程序的方法distutils。由于distutils不支持设置功能中的依赖关系,因此通常包括各种容易出错的依赖关系检查方式。 人们为什么还要付出额外的努力来支持distutils- setuptools标准库中没有的事实是唯一的原因吗?distutils编写仅支持setup.py文件的优点和缺点是什么setuptools?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.