在一个涉及的项目中,我需要使用特定宽度的列来呈现表,每个表行只有一行HTML行(没有换行).我需要每个表格单元格在顶部和底部填充1个像素,在左侧和右侧填充2个像素.我能想出的跨浏览器的最佳方法是以这种方式将div放在表内的td中:
<style>
table.grid { border: none; border-collapse: collapse; }
table.grid tbody tr td { padding: 1px 2px; }
table.grid tbody tr td div { overflow: hidden; white-space: nowrap; }
table.grid tbody tr td.one { width: 100px; }
table.grid tbody tr td.two { width: 200px; }
</style>
<table class="grid">
<tbody>
<tr>
<td class="one"><div>One</div></td>
<td class="two"><div>Two</div></td>
</tr>
<tr>
<td class="one"><div>Another One</div></td>
<td class="two"><div>Another Two</div></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
我希望能够消除添加额外div的需要.我花了很多时间在谷歌搜索这个问题,但找不到替代方案.
有没有办法做我需要的东西而不需要添加额外的div?如果那么,它是什么?
有没有办法在不使用表的情况下获得所需的结果?
我半回答了一个关于在位图中找到质量簇的问题.我说半答案是因为我把它放在一个条件下,我将位图中的所有点按质量分类并留给读者来过滤从同一个簇中删除点的列表.
然后在考虑这一步时,我发现解决方案并没有像我想象的那样跳出来.所以现在我要求你们帮忙.我们有一个像这样的质量点的列表(一个Python的元组列表,但你可以用任何语言表示它):
[ (6, 2, 6.1580555555555554),
(2, 1, 5.4861111111111107),
(1, 1, 4.6736111111111107),
(1, 4, 4.5938888888888885),
(2, 0, 4.54),
(1, 5, 4.4480555555555554),
(4, 7, 4.4480555555555554),
(5, 7, 4.4059637188208614),
(4, 8, 4.3659637188208613),
(1, 0, 4.3611111111111107),
(5, 8, 4.3342191043083904),
(5, 2, 4.119574829931973),
...
(8, 8, 0.27611111111111108),
(0, 8, 0.24138888888888888) ]
Run Code Online (Sandbox Code Playgroud)
每个元组的形式如下:
(x, y, mass)
Run Code Online (Sandbox Code Playgroud)
请注意,列表在此处排序.如果您的解决方案更喜欢不对它们进行排序,那就完全没问题了.
如果你还记得,那么挑战就是找到主要的质量集群.群集的数量尚不清楚.但是你知道位图的尺寸.有时,群集中的多个点的质量大于下一个(大小)群集的中心.所以我想做的是从更高质量的点开始并移除同一簇中的点(附近的点).
当我尝试这个时,我最终不得不一遍又一遍地浏览列表的一部分.我有一种感觉,我只是愚蠢.你会怎么做?伪代码或真实代码.当然,如果你能用Python代码从我离开的那个地方起飞,我就更容易进行实验.
下一步是弄清楚位图中确实有多少个簇.我仍然在努力定义这个问题所以我可能会回答一个问题.
编辑:我应该澄清,我知道这个问题没有"正确"的答案.问题的名称是关键.完成了我的聚类的第一阶段.我正在寻找一种快速,准确 - "足够"的方法来过滤掉附近的点.
如果你知道如何让问题更清楚,请告诉我.
在Javascript中,我定义了一个正则表达式,现在用户正在键入一个字符串.我想告诉他,如果他的字符串仍然可以与RegExp匹配,如果他继续打字或者他已经走错了路.例如:
var re = /a*b/;
"a".isPrefixOf( re ); // true
"x".isPrefixOf( re ); // false
Run Code Online (Sandbox Code Playgroud)
一个实现isPrefixOf怎么样?
更新:感谢您的回答,正如brad建议的那样使正则表达式前缀保证似乎是一个很好的解决方法.但我仍在努力找到一个通用的解决方案.
也许这样:我们创建一个新的正则表达式,后跟用户输入.*.此正则表达式描述了用户仍可输入的所有单词.如果此创建的正则表达式与原始正则表达式的交集为空,则表示用户已经错误.如果不是,他表现得很好.例如:
var re = /a*b/;
var sInput = "a";
var reInput = new RegExp( sInput + ".*" );
reIntersection = re.intersect( reInput );
reIntersection.isEmpty(); // false
Run Code Online (Sandbox Code Playgroud)
intersect()返回只接受这两个词一个新的正则表达式re,并reInput会接受.该功能尚不存在,但我们可以使用预测来实现它:
RegExp.prototype.intersect = function( pattern2 ) {
return new RegExp( '(?=' + this.source + ')' + pattern2.source );
}
Run Code Online (Sandbox Code Playgroud)
剩下的就是isEmpty()功能.如果Javascript正则表达式匹配任何单词或它是否为空,我们如何检查?
我正在评估 Java 中高效数据存储的选项。该数据集是带有命名主键的带时间戳的数据值。例如
Name: A|B|C:D
Value: 124
TimeStamp: 01/06/2009 08:24:39,223
Run Code Online (Sandbox Code Playgroud)
可能是给定时间点的股票价格,所以我认为这是一个经典的时间序列数据模式。然而,我确实需要一个通用的 RDBMS 解决方案,它可以与任何合理的 JDBC 兼容数据库一起使用,因为我想使用 Hibernate。因此,像 Oracle 这样的数据库的时间序列扩展并不是真正的选择,因为我希望实现者能够使用他们自己的支持 JDBC/Hibernate 的数据库。
这里的挑战就是短时间内积累的大量数据。到目前为止,我的实现主要围绕定义定期汇总和清除计划,其中原始数据被聚合到“日”、“周”、“月”等表中,但缺点是粒度的早期损失以及存储在不同数据中的周期之间的周期不匹配带来的轻微不便。聚合体。
这一挑战的选择有限,因为在保留数据原始粒度的同时可以物理压缩多少数据存在绝对限制,并且使用关系数据库和支持通用 JDBC 的指令加剧了这一限制。 。
借用经典数据压缩算法中的概念概念,并利用同一命名键的许多连续值可以相同的事实,我想知道是否有方法可以通过将重复值合并为无缝地减少存储记录的数量一个逻辑行,同时还存储一个计数器,该计数器有效地指示“接下来的n 条记录具有相同的值”。这个实现看起来很简单,但代价是,使用标准 SQL 进行查询时,数据模型现在异常复杂,尤其是在使用任何类型的聚合 SQL 函数时。这显着降低了数据存储的实用性,因为只有复杂的自定义代码才能将数据恢复到“解压缩”状态,从而导致数百种工具的阻抗不匹配,而这些工具将无法正确呈现此数据。
我考虑了定义自定义 Hibernate 类型的可能性,这些类型基本上“理解”压缩数据集并将其备份并使用动态创建的合成行返回查询结果。(除了严格控制的输入流之外,数据库将对所有客户端只读)。除了原始 JDBC 之外,我想到的几个工具还将与 Hibernate/POJOS 集成(例如 JasperReports),但这并不能真正解决聚合函数问题,并且可能还有许多其他问题。
因此,我正在部分地接受自己可能必须使用更专有的[可能非 SQL] 数据存储(任何建议都表示赞赏),然后专注于编写伪 JDBC 驱动程序的可能不太复杂的任务,以至少简化与外部工具。
我听说过一种称为“位打包文件”的东西作为实现这种数据压缩的机制,但我不知道有任何数据库可以提供此功能以及我想做的最后一件事(或者可以做,真的...... )是写我自己的数据库。
有什么建议或见解吗?
我有一个模拟读取我们创建的大型二进制数据文件(10到100的GB).出于速度原因,我们使用二进制 这些文件是系统相关的,从我们运行的每个系统上的文本文件转换而来,所以我不关心可移植性.这些文件当前是POD结构的许多实例,用fwrite编写.
我需要更改结构,所以我想添加一个文件版本号的标题,它会随着结构的变化而增加.由于我这样做,我想添加一些其他信息.我正在考虑结构的大小,字节顺序,以及创建二进制文件的代码的svn版本号.还有什么其他有用的东西可以添加吗?
有没有办法测试正则表达式是否"包含"另一个正则表达式?
例如:
RegEX1 = "a.*b";
RegEx2 = "a1.*b";
Run Code Online (Sandbox Code Playgroud)
RegEX1"包含"RegEX2.
据我所知 - 这不可能做到,我错了吗?
在VB6中,我被告知在测试空字符串时,通过使用以下方法验证字符串的长度来检查它会快得多:
If Len("ABC") = 0 then 'fast
Run Code Online (Sandbox Code Playgroud)
要么
If LenB("ABC") = 0 then 'even faster
Run Code Online (Sandbox Code Playgroud)
代替:
If "ABC" = "" then 'slower
Run Code Online (Sandbox Code Playgroud)
如果在VB.NET中也是如此,你知道吗?谢谢.
我试图定义一个返回接口的WCF合约,如下所示:
[ServiceContract]
public interface IMyContracts
{
[OperationContract]
IMyInterface GetData(string request);
}
Run Code Online (Sandbox Code Playgroud)
为了实现这一点,我认为我的接口(IMyInterface)必须实现ISerializable以确保可以序列化实现我的接口的类.这意味着我必须为实现我的接口的任何类手动实现序列化.
如果使用的是不可序列化的类,或者我使接口实现ISerializable并且具有手动实现的相关麻烦,那么我似乎使用我的接口并冒险运行时错误.
我迷惑自己,错过了一些明显的东西吗?其他人如何使用WCF返回接口并避免此问题?
非常感谢.
我想知道当验证结束条件(不同于正确的迭代次数)时是否可以在C++中结束for循环.例如:
for (int i = 0; i < maxi; ++i)
for (int j = 0; j < maxj; ++j)
// But if i == 4 < maxi AND j == 3 < maxj,
// then jump out of the two nested loops.
Run Code Online (Sandbox Code Playgroud)
我知道这可能在Perl中使用下一个LABEL或最后一个LABEL调用和标记的块,是否可以在C++中执行它或者我应该使用while循环?
谢谢.
使用Assembly.LoadFrom和Assembly.Load混合加载程序集时的奇怪行为
使用Assembly.LoadFrom以及稍后使用Assembly.Load加载程序集时,我遇到了一种奇怪的行为.
我正在使用Assembly.LoadFrom加载程序集,其中程序集位于不是执行文件夹的文件夹中.
稍后在我的测试代码中,当我尝试使用Assembly.Load再次加载此程序集时,加载失败并出现System.IO.FileNotFoundException("无法加载文件或程序集......"),尽管程序集已经加载.使用强名称和非强名称加载失败(再次加载此装配的原始原因是使用BinaryFormatter).
但是,如果程序集位于执行文件夹中,则后两次加载在两种情况下都会成功,具有强名称和非强名称.在这种情况下,您可以看到两个相同的装配从两个不同的位置加载.
一个重新创建此问题的简单代码示例 -
程序集assembly1 = Assembly.LoadFrom(@"C:\ a.dll");
//使用强名称加载失败程序集assembly2 = Assembly.Load(@"a,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 14986c3f172d1c2c");
//也加载非强大的失败程序集assembly3 = Assembly.Load(@"a");
谢谢.
.net ×2
c++ ×2
regex ×2
algorithm ×1
assemblies ×1
binaryfiles ×1
bitmap ×1
c ×1
compression ×1
css ×1
css-tables ×1
database ×1
filtering ×1
hibernate ×1
html ×1
interface ×1
java ×1
javascript ×1
jdbc ×1
label ×1
loops ×1
nested-loops ×1
prefix ×1
python ×1
string ×1
vb.net ×1
vb6 ×1
wcf ×1