我有一堆服务器,我在其上运行实验screen
.程序如下:
ssh
到服务器XXXscreen
screen
在实验运行的同时,我可以通过ssh
所有服务器轻松找到它们所在的服务器并列出我正在运行的进程(使用top
或ps
).
但是,一旦实验完成,我怎么能找到我打开屏幕会话的服务器(这样我可以查看输出,重新启动它们等)?
PS:我的实验也会将输出打印到文件中......但这不是我的问题.
有没有检查表是否包含值的方法?我有自己的(幼稚)功能,但我想知道是否存在"正式"的东西?或者更高效的东西......
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我使用这个函数的主要原因是使用表作为集合,即没有重复的元素.还有其他我可以使用的东西吗?
我有一个lua表,我用作hashmap,即使用字符串键:
local map = { foo = 1, bar = 2 }
Run Code Online (Sandbox Code Playgroud)
我想"弹出"由其键标识的该表的元素.有一种table.remove()
方法,但它只需要删除元素的索引(即数字)而不是通用键.我希望能够做到table.remove(map, 'foo')
,这就是我实现它的方式:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
有一段时间,我发现自己舍入了一些数字,我总是要将结果转换为整数:
int rounded = (int) floor(value);
Run Code Online (Sandbox Code Playgroud)
为什么所有舍入函数(ceil()
,floor()
)都返回一个浮点数,而不是一个整数?我发现这非常不直观,并且希望得到一些解释!
假设我有两个链接的表(一个具有另一个的外键):
CREATE TABLE Document (
Id INT PRIMARY KEY,
Name VARCHAR 255
)
CREATE TABLE DocumentStats (
Id INT PRIMARY KEY,
DocumentId INT, -- this is a foreign key to table Document
NbViews INT
)
Run Code Online (Sandbox Code Playgroud)
我知道,这不是最聪明的做事方式,但这是我能想到的最好的例子.
现在,我想获得拥有超过500个视图的所有文档.我想到的两个解决方案是:
SELECT *
FROM Document, DocumentStats
WHERE DocumentStats.Id = Document.Id
AND DocumentStats.NbViews > 500
Run Code Online (Sandbox Code Playgroud)
要么 :
SELECT *
FROM Document
INNER JOIN DocumentStats
ON Document.Id = DocumentStats.Id
WHERE DocumentStats.NbViews > 500
Run Code Online (Sandbox Code Playgroud)
两个查询都是等价的,还是有一种方法比另一种更好?如果是这样,为什么?
我知道我的例子并不完美,而且查询可能需要一些调整,但我希望你明白这一点;)!
编辑:根据答案中的要求,这个问题针对MSSQL,但我有兴趣知道它是否与其他数据库引擎不同(MySQL等...)
我希望访问者能够直接在我的网页上点击(或复制)电子邮件地址.但是,如果我能够(有点)让机器人和其他爬虫更难获得所述电子邮件地址并将其注册到垃圾邮件列表中,那就太棒了.
我发现了不同的方法(即编码mailto HTML链接),使用JavaScript或纯HTML,但你们推荐什么?JavaScript技术似乎更复杂,但这可能会影响关闭它的用户,以及像Google这样的合法抓取工具.
另一方面,HTML一个看起来有点基础,机器人编写者应该现在已经弄明白了...
我是否应该费心去做这件事,还是垃圾邮件发送者会收到我的电子邮件?我知道反垃圾邮件过滤器越来越好,但如果我能做更多的事情来减缓垃圾邮件发送者的速度,我会的.
在Lua中,您可以通过以下方式创建表:
local t = { 1, 2, 3, 4, 5 }
Run Code Online (Sandbox Code Playgroud)
但是,我想创建一个关联表,我必须按以下方式执行:
local t = {}
t['foo'] = 1
t['bar'] = 2
Run Code Online (Sandbox Code Playgroud)
以下是错误:
local t = { 'foo' = 1, 'bar' = 2 }
Run Code Online (Sandbox Code Playgroud)
有没有办法像我的第一个代码片段那样做?
我了解到明确指定图像尺寸是最佳做法.然后,浏览器可以在仍然自己下载图像的同时布局页面,从而改善(经过执行的)页面渲染时间.
这是真的?如果是这样,在HTML或CSS中指定维度是否有区别?
<img src="" width="200" height="100">
<img src="" style="width: 200px; height: 100px">
#myImage { width: 200px; height: 200px; }
我有一个使用IKVM转换的Java库的项目.我添加了创建的DLL以及所有可能的IKVM DLL作为我的项目的引用,但是当我运行它时,我得到以下运行时错误:
System.IO.FileNotFoundException:无法加载文件或程序集'core,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一.该系统找不到指定的文件.
我不确定如何调试此错误.有没有办法确切知道缺少哪种类型?从描述我猜这是生成的DLL(来自Java lib),但我已正确添加它作为参考.
还有什么我做错了?
我通常使用Eclipse进行编码,它有一个非常好的参数完成功能:当你调用一个方法时,在你输入之后(,它会显示参数列表,并在你键入时突出显示你的位置:
如何在Visual Studio 2012中获得类似的帮助?
我知道这会Ctrl + K, Ctrl + I显示有关光标当前突出显示内容的一些信息,但如果您已经开始输入内容,则无效.如果我键入MyMethod(arg1,
然后点击快捷方式(或任何其他,如Ctrl + Space或Ctrl + Shift + Space),我没有得到任何有用的东西.
lua ×3
lua-table ×3
c# ×2
html ×2
.net ×1
autocomplete ×1
bash ×1
c ×1
c++ ×1
casting ×1
command-line ×1
contains ×1
css ×1
encoding ×1
gnu-screen ×1
ikvm ×1
intellisense ×1
join ×1
key ×1
linux ×1
load ×1
mailto ×1
obfuscation ×1
performance ×1
rendering ×1
rounding ×1
runtime ×1
set ×1
spam ×1
sql ×1
unique ×1
where-clause ×1