Tag: 标准

什么是目前最好的方式来获得一个favicon在所有支持Favicons的浏览器中显示?

什么是目前最好的方式来获得一个图标在当前支持它的所有浏览器中显示? 请包括: 哪些浏览器支持哪些图片格式。 在各种浏览器的哪个地方需要哪些线路。

标准使用'Z'而不是NULL来表示缺失的数据?

在是否应该使用NULL的参数之外:我负责使用NULL表示“丢失或从未input”数据的现有数据库。 它与空string不同,意思是“用户设置了这个值,而且他们select了”空“。 项目的另外一个承包商坚定地坚持“不存在NULL,我从来不使用NULL,也不应该使用NULL”。 然而,让我感到困惑的是,由于承包商的团队确认了“缺less/从不进入”和“有意清空或由用户指示为未知”之间的区别,他们在其代码和存储过程中使用单个字符“Z”在整个数据库的其余部分表示“丢失/从不进入”,其含义与NULL相同。 尽pipe我们的共享客户已经要求改变这一点,而且我也支持这个请求,但是团队认为这是DBA中比我更先进的“标准实践”。 他们不愿意单独根据我的无知请求更改为使用NULL。 那么,谁能帮我克服我的无知? SQL专家中是否有任何标准或一小组个人,甚至是一个大声的提倡使用“Z”代替NULL的声音? 更新 我有一个承包商的回应补充。 以下是当客户要求删除特殊值以允许在没有数据的列中允许NULL时他所说的内容: 基本上,我devise的数据库,以尽可能避免NULL。 这是理由: • string[VARCHAR]字段中的NULL是不必要的,因为空(零长度)string提供完全相同的信息。 • 整数字段(例如,ID值)中的NULL可以通过使用永远不会出现在数据中的值来处理(例如,对于整数IDENTITY字段,则为-1)。 date字段中的NULL可能很容易造成date计算的复杂性。 例如,在计算date差异的逻辑(如[RecoveryDate]和[OnsetDate]之间的天数差异)中,如果一个或两个date都为NULL,则逻辑将爆炸 – 除非为两个date为NULL。 这是额外的工作和额外的处理。 如果[RecoveryDate]和[OnsetDate](例如“1/1/1900”)使用“default”或“placeholder”date,math计算可能会显示“exception”值 – 但date逻辑不会被炸毁。 传统上,NULL处理是开发人员在存储过程中犯错的区域。 在我作为DBA的15年中,我发现尽可能避免NULL。 这似乎validation了对这个问题的主要负面反应。 而不是应用可接受的6NF方法来deviseNULL,特殊值用于“尽可能避免NULL”。 我以开放的态度发表了这个问题,很高兴我对“NULL是有用的/ NULL是邪恶的”辩论有了更多的了解,但是现在我很舒服地将“特殊值”方法标记为完全无稽之谈。 一个空的(零长度)string提供完全相同的信息。 不,它不; 在我们正在修改的现有数据库中,NULL表示“从不input”,空string表示“input为空”。 传统上,NULL处理是开发人员在存储过程中犯错的区域。 是的,但成千上万的开发人员已经犯了数千次错误,而避免这些错误的经验教训和注意事项是已知的并且是有logging的。 正如这里所提到的那样:无论你接受还是拒绝NULL,缺失值的表示都是一个解决的问题 。 没有必要发明一种新的解决scheme,因为开发人员继续制造易于克服(易于识别)的错误。 作为一个脚注:我已经是DBE和开发人员20多年了(这当然有足够的时间让我知道数据库工程师和数据库pipe理员之间的差异)。 在我整个职业生涯中,我一直都是在“有用”的阵营,虽然我知道有几个非常聪明的人不同意。 我对“特殊价值”方法持怀疑态度,但对于“如何避免以正确方法行事”这一学者坚持不懈,坚持不懈。 我总是喜欢学习新东西,20年后我仍然有很多东西要学。 感谢所有为此作出贡献的人士提供有用的讨论。

在标准模式下设置元素宽度或高度

在标准模式下,是否可以在JavaScript中设置HTML元素的宽度或高度(例如<div> )? 请注意以下代码: <html> <script language="javascript" type="text/javascript"> function changeWidth(){ var e1 = document.getElementById("e1"); e1.style.width = 400; } </script> <body> <input type="button" value="change width" onclick="changeWidth()"/> <div id="e1" style="width:20px;height:20px; background-color:#096"></div> </body> </html> 当用户按下更改宽度button时, <div>的宽度应该改变。 当doctype声明决定怪癖模式时,它工作正常。 在标准模式下,我无法以这种方式更改元素的大小 是否有可能在标准模式下操作元素的大小? 如何绕过这种不良function?

“挥发性”的定义是不稳定的,还是GCC有一些标准的兼容性问题?

我需要一个函数(像WinAPI中的SecureZeroMemory一样)总是零内存,并且不会被优化,即使编译器认为内存永远不会再被访问。 看起来像一个完美的候选人易变。 但是我遇到了一些问题,实际上是为了和GCC一起工作。 这是一个示例函数: void volatileZeroMemory(volatile void* ptr, unsigned long long size) { volatile unsigned char* bytePtr = (volatile unsigned char*)ptr; while (size–) { *bytePtr++ = 0; } } 很简单。 但是,如果你调用GCC的代码,它会随着编译器的版本和实际尝试清零的字节数的不同而变化。 https://godbolt.org/g/cMaQm2 GCC 4.4.7和4.5.3从不忽略易失性。 GCC 4.6.4和4.7.3忽略数组大小为1,2和4的volatile。 GCC 4.8.1直到4.9.2忽略数组大小1和2的易失性。 GCC 5.1直到5.3忽略数组大小为1,2,4,8的易失性。 GCC 6.1只是忽略了它的任何数组大小(一致性加分)。 我testing过的任何其他编译器(clang,icc,vc)都会根据任何编译器版本和任何数组大小生成所期望的存储器。 所以在这一点上,我想知道,这是一个(相当古老和严重?)GCC编译器错误,或者在标准中的挥发性的定义不精确,这实际上符合行为,使得写一个可移植的“ SecureZeroMemory“function? 编辑:一些有趣的观察。 #include <cstddef> #include <cstdint> #include <cstring> #include <atomic> void […]

<nav>或<menu>(HTML5)

W3Schools.com和我敢肯定,我记得看到W3C.org状态,应该使用<menu>工具栏菜单和列表窗体控制命令。 那么,我应该使用哪一个主菜单? Nav ,还是Menu ? 有关系吗?

迭代通过std :: map的顺序是否已知(并由标准保证)?

我的意思是 – 我们知道std::map的元素是根据键来sorting的。 所以,假设键是整数。 如果我使用for来从std::map::begin()迭代到std::map::end() ,那么标准保证我将通过带有键的元素迭代,按照升序sorting? 例: std::map<int, int> map_; map_[1] = 2; map_[2] = 3; map_[3] = 4; for( std::map<int, int>::iterator iter = map_.begin(); iter != map_.end(); ++iter ) { std::cout << iter->second; } 这是保证打印234还是它的实现定义? 真实的原因:我有一个std::map int键。 在非常罕见的情况下,我想遍历所有元素,大于一个具体的int值。 是的,这听起来像std::vector将是更好的select,但注意到我的“非常罕见的情况下”。 编辑 :我知道, std::map的元素是sorting..没有必要指出(大部分的答案在这里)。 我甚至写在我的问题。 当我迭代一个容器时,我正在询问迭代器和顺序。 谢谢@Kerrek SB的答案。

C ++标准委员会打算在C ++ 11中使用unordered_map破坏它所插入的内容吗?

已解决:这是libstdc ++ <v4.8.2中的一个错误,如果系统上存在GCC v4.8和clang> v3.2将会使用它。 有关报告,请参阅http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57619 。 感谢凯西和布赖恩给出了正确的答案。 尼尔 原始问题: 我刚刚失去了三天的时间跟踪一个非常奇怪的bug,unordered_map :: insert()破坏了你插入的variables。 这种非常不明显的行为仅出现在最近的编译器中:我发现叮当3.2-3.4和GCC 4.8是唯一certificate这个“特性”的编译器。 下面是我的主要代码库中的一些简化代码,它演示了这个问题: #include <memory> #include <unordered_map> #include <iostream> int main(void) { std::unordered_map<int, std::shared_ptr<int>> map; auto a(std::make_pair(5, std::make_shared<int>(5))); std::cout << "a.second is " << a.second.get() << std::endl; map.insert(a); // Note we are NOT doing insert(std::move(a)) std::cout << "a.second is now " << […]

推荐的网站分辨率(宽度和高度)?

常见的网站parsing有没有标准? 我们针对较新的显示器,可能至less有1280px宽,但高度可能会有所不同,每个浏览器也可能有不同的工具栏高度。 这有什么标准吗?

html / css id和class的标准命名约定是什么?

它取决于您使用的平台,还是大多数开发人员build议/遵循的共同惯例? 有几个选项: id="someIdentifier"' – 看起来与JavaScript代码非常一致。 id="some-identifier" – 在html中看起来更像HTML5的属性和其他东西。 id="some_identifier" – 看起来与ruby代码非常一致,并且仍然是Javascript内部的有效标识符 我想上面的#1和#3是最有意义的,因为它们使用Javascript更好。 有没有正确的答案呢?

自定义C ++分配器的令人信服的例子?

有什么理由让std::allocator支持自定义解决scheme吗? 你是否遇到过正确性,性能,可扩展性等绝对必要的情况? 任何真正聪明的例子? 自定义分配器一直是标准库的一个function,我没有太多需要。 我只是想知道这里有没有人可以提供一些令人信服的例子来certificate它们的存在。