问题标签 [standards-compliance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 为什么 MySQL 允许没有聚合函数的“group by”查询?
惊喜——这是 MySQL 中一个完全有效的查询:
如果您在 Oracle 或 SQL Server 中尝试此查询,您会收到自然错误消息:
那么 MySQL 如何确定为每个 X 显示哪个 Y?它只会选择一个。据我所知,它只会选择它找到的第一个 Y。基本原理是,如果 Y 既不是聚合函数也不是 group by 子句,那么在查询中指定“select Y”一开始就没有任何意义。因此,我作为数据库引擎将返回任何我想要的,你会喜欢的。
甚至还有一个 MySQL 配置参数来关闭这种“松散”。 http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by
这篇文章甚至提到了 MySQL 在这方面是如何被批评为不符合 ANSI-SQL 的。 http://www.oreillynet.com/databases/blog/2007/05/debunking_group_by_myths.html
我的问题是: 为什么MySQL 是这样设计的?他们打破 ANSI-SQL 的理由是什么?
ftp - 广泛使用的FTP传输方式有哪些?
阅读 FTP RFC (RFC959),我注意到一些我从未见过的模式,并且确实似乎没有被流行的 FTP 软件(例如 vsftpd)实现。特别是对于STRU命令,常用的只有文件模式“STRU F”,而对于MODE命令,常用的只有流模式“MODE S”。
所以问题是,当遵循开发可互操作的 FTP 客户端和服务器软件的最佳实践时:
- 支持其他 STRU 选项(记录和页面)是否有用?这些看起来像是非常老式的东西。
- 支持其他 MODE 选项(块和压缩)有用吗?我可以看到压缩点,但我特别想知道是否有任何客户端/服务器会期望块在那里。
- 是否有关于哪些现有 FTP 实施支持哪些选项的调查?
(在模式一上,我可以看到为什么压缩是有用的,我更想知道是否有任何客户端/服务器会期望块模式存在)。
c++ - 带有非布尔运算符的布尔行为
我真正想要的是一个 ||= 运算符。
第二行是编译器错误(c++ 没有 ||= 运算符)。
那么我的其他选择是什么?
当我谈到这个主题时,bool 与其他非布尔运算符的行为如何?
我可以凭经验验证这些,但我最感兴趣的是标准所说的内容。
c++ - 在方法声明中使用 typedef 但在方法定义中使用规范类型是否合法 C++?
GNU C++ (g++ -pedantic -Wall) 接受这个:
它是合法的 C++ 吗?其他编译器可能会接受它吗?
objective-c - 在 Objective-C 中,我是否允许在子类中重写父用于遵守协议的方法?
下面提供了示例。如果我设置
会调用 A 类或 B 类的doingSomething吗?
啊
是
溴化氢
BM
xml - 这是一个有效的 XML 吗?
我感觉这个 XML 无效,有人可以解释为什么吗?
我认为它与元素名称中的点有关吗?
关于这个 XML 还有什么无效的吗?
XML
c - scanf() 和 strtol() / strtod() 解析数字的区别
注意:我完全修改了这个问题,以更准确地反映我设置赏金的目的。请原谅与这可能已经创建的已经给出的答案的任何不一致之处。我不想创建一个新问题,因为以前对此问题的答案可能会有所帮助。
我正在实现一个 C 标准库,并且对标准的一个特定角落感到困惑。
该标准根据、和的定义定义了scanf
函数族(%d、%i、%u、%o、%x)接受的数字格式。strtol
strtoul
strtod
该标准还规定,fscanf()
最多只能将一个字符放回输入流中,因此某些序列被 接受strtol
,strtoul
并且strtod
是不可接受的fscanf
(ISO/IEC 9899:1999,脚注 251)。
我试图找到一些会表现出这种差异的值。事实证明,十六进制前缀“0x”,后跟一个不是十六进制数字的字符,是两个函数系列不同的一种情况。
有趣的是,显然没有两个可用的 C 库似乎在输出上达成一致。(请参阅此问题末尾的测试程序和示例输出。)
我想听到的是在解析“0xz”时会被视为符合标准的行为吗?. 理想情况下,引用标准中的相关部分来说明这一点。
c++ - 在静态初始化期间可以安全地创建线程吗?
在某些时候,我记得读到在 main() 的第一行之前无法安全地创建线程,因为编译器插入特殊代码以使线程在静态初始化期间运行。因此,如果您有一个在构造时创建线程的全局对象,您的程序可能会崩溃。但是现在我找不到原始文章了,我很好奇这是一个多么严格的限制——按标准严格来说是真的吗?大多数编译器都是这样吗?在 C++0x 中它会保持不变吗?符合标准的编译器是否可以使静态初始化本身成为多线程的?(例如检测两个全局对象不相互接触,并在单独的线程上初始化它们以加速程序启动)
编辑:为了澄清,我试图至少了解实现在这方面是否真的有很大差异,或者它是否是伪标准的东西。例如,从技术上讲,该标准允许改组属于不同访问说明符(公共/受保护/等)的成员的布局。但是我所知道的编译器实际上没有这样做。
usb - 如果 USB 设备不兼容 USB 2.0,可能会出现什么问题?
我有一个全速设备,它将最大数据包大小指定为 256 字节。这不符合 USB 标准,因为全速设备的最大数据包大小应为 64 字节。我可以很好地读取(ReadFile)和写入(WriteFile)到设备,但我想知道是否可能会出现我没有看到的问题,除了跨多个 USB 帧写入可能会影响性能( 1毫秒)?我不是真正的 USB 专家,所以任何建议都将不胜感激。
html - 使用表单处理多列/复杂列的标准和最佳实践
我想知道在处理内部包含表单的多个复杂列时的最佳实践或方法是什么。
这是我正在处理的表格的一个例子
如何为此正确编写 HTML 标记?如果我为每列用“DIV”包装每个表单元素,则需要很多“DIV”和样式;以及每列不重复的宽度。
所以我所做的是,我将所有表单元素放在表格中。我认为这不是标准的做法。
如果你在我的鞋子里,
您将如何处理具有非重复宽度的列?