小编fas*_*xes的帖子

我可以在<TABLE>中包含<SCRIPT>标签吗?

我必须在表中有一个标记,因为PHP在那里编写了一个代码,可以将东西添加到之前创建的Javascript数组中.但是,我收到验证错误(4.01严格).

有什么方法可以做到这一点,或者仅仅禁止保留这样的脚本:

<TABLE>
    <TR>
      <SCRIPT></SCRIPT>
        <TD>
        </TD>
    </TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)

(这可能更好吗?):

<TABLE>
    <TR>
        <TD>
         <SCRIPT></SCRIPT>
        </TD>
    </TR>
</TABLE>
Run Code Online (Sandbox Code Playgroud)

更改doctype?你怎么看?

html javascript doctype script-tag

24
推荐指数
2
解决办法
2万
查看次数

什么是PHP标头?

我想知道PHP标头是什么.我严格使用PHP来完成HTML,我认为我必须在输出文本时发送text/html标题,然后从单独的脚本中发送image/jpeg标题,该脚本在图像标记中用作源,但有人建议我带走标题因为它们什么也没做.

我做了,一切都和以前一样.这让我很奇怪:什么是标题?他们什么时候用?(既可以从HTML角度看,也可以从某些(?)其他角度看)我为什么要删除我的?

php header http

18
推荐指数
2
解决办法
2万
查看次数

具有约束的Haskell类型同义词声明可能吗?

假设我想为Int的所有列表创建一个类型同义词.

我可以:

type NumberList = [Int]
Run Code Online (Sandbox Code Playgroud)

但是如果我想调用包含数字NumberList的所有列表呢?我如何设置约束并说所有[a]只要"Num a"应该被称为相同?

编辑::看到答案后,我重新思考.看起来我反对Haskell背后的一个基本思想,奖励相对较小(只是一个正式的问题).我决定这样做:如果一个类型需要两个相同的实例,只有Int或Float不同,那么它们之间的差异太小,无法保证完成Int和Float的使用所需的解决方法但是调用它们是同一个东西,这就是为什么我必须将使用限制在其中之一.但是,如果有一个重要的原因,为什么我应该同时拥有两者,那么我可以在实例的名称中反映这个重要的原因,从而通过这样做避免问题:

data Thing = Thing_A(String, String Float) | Thing_B(String,String,Int)
Run Code Online (Sandbox Code Playgroud)

---从而坚持Haskell的打字系统,仍然接受它们作为数据类型Thing.我最初想做的是

data Thing = Thing(String, String, Float) | Thing(String, String, Int)
Run Code Online (Sandbox Code Playgroud)

polymorphism haskell types constraints

8
推荐指数
2
解决办法
5328
查看次数

MySQL InnoDB下一键锁定中唯一索引和非唯一索引之间的区别背后的基本原理

MySQL InnoDB在事务中的非唯一索引上使用next-key锁定,从而锁定了扫描索引前后的间隙(这是MySQL手册无法清楚传达的方式,next-key的手册页locks表示仅锁定扫描索引之前的间隙:http : //dev.mysql.com/doc/refman/5.7/en/innodb-record-level-locks.html)。

但是,我无法理解其背后的全部原理。

使用的设置:

CREATE TABLE test (a int, b int, index (a));
INSERT INTO test VALUES (5,5), (10,10), (15,15);
Run Code Online (Sandbox Code Playgroud)

第一个连接的客户端启动事务A并发出以下UPDATE查询:

UPDATE test set b = 10 where a = 10;
Run Code Online (Sandbox Code Playgroud)

从下一个传入连接开始的事务B运行以下查询可获得以下结果:

INSERT INTO test VALUES(5,5); //On hold
INSERT INTO test VALUES(9,9); //On hold
INSERT INTO test VALUES(14,14); //On hold
INSERT INTO test VALUES(4,4); //Works
INSERT INTO test VALUES 15,15); //Works
UPDATE test SET a = 1 WHERE a = 5; //Works
UPDATE test …
Run Code Online (Sandbox Code Playgroud)

mysql innodb locking

5
推荐指数
1
解决办法
621
查看次数

C++为什么命名空间不会与变量和函数碰撞?

如果命名空间,函数和变量在同一范围内具有相同的名称,它们如何碰撞,而结构/类在与第一个碰撞时不会与变量和函数发生冲突?

我可以看到为什么如果结构/类和名称空间相互冲突而不是与函数和变量发生冲突但我发现结构/类在命名空间不与变量和函数冲突时很奇怪,可能是因为它们以相同的方式使用(::)并且两者都列出了各种命名空间,这些命名空间可以解释它们需要彼此不同(而结果现在似乎有点不相干).

例1:

int A;
struct A {};
//void A() {} //Collision with int A
//namespace A {} //Collision with int A (and also struct A if int A is removed)
Run Code Online (Sandbox Code Playgroud)

例2:

struct A {};
void A() {} 
//int A; //Collision with function A
//namespace A {} //Collision with function A (and also struct A if int A is removed)
Run Code Online (Sandbox Code Playgroud)

例3:

namespace A {}   
//struct A {}; //Collision with namespace A
//void A() {} //Collision with namespace A
//int A; …
Run Code Online (Sandbox Code Playgroud)

c++ variables struct namespaces collision

5
推荐指数
1
解决办法
378
查看次数

Comet 流媒体:XHR 流媒体和 Forever iFrame 在 2015 年仍有可能吗?

我知道我可能应该使用 WebSockets 或服务器端事件,但是涉及将分块数据从服务器写入iFrame或作为对 的响应的 Comet Streaming 技术发生了xmlHttpRequest什么?我偶然发现了多个演示,但它们都不再按预期工作,而且由于这种类型的流媒体上的大部分材料都很旧,我想知道它在 2015 年是否仍然可行?

为了清楚起见,我指的是 Comet 技术,其中服务器使用分块传输编码即时刷新新数据来保持连接打开。浏览器中的增量渲染应该可以使这些数据可用,无论是在iFrame(例如“Forever iFrame”)的情况下还是通过在返回时读取对象的responseText属性(例如“XHR流”)。然而,所有浏览器似乎都会缓冲数据直到连接关闭,无论我在开始发送真实数据之前添加了多少虚假的前导码。另外,我指的不是set to仅适用于 Firefox的特殊情况,而是一种似乎在几年前适用于大多数浏览器的方法。xmlHttpRequestreadyState3Content-Typemultipart/x-mixed-replace

有谁知道当前的浏览器行为是否已经淘汰了这些 Comet 流技术?

示例演示:

responseText通过xmlHttpRequest对象轮询负载:

http://ajaxify.com/run/streaming/xmlHttpRequest/countdown/ http://ajaxify.com/run/streaming/xmlHttpRequest/

常规页面加载缓慢,增量渲染不适合我:

http://ajaxify.com/run/streaming/

iFrame缓慢iFrame加载时轮询内容:

http://ajaxify.com/run/streaming/xmlHttpRequest/iframe/

这些演示不使用分块传输编码,但产生的行为是相同的,即不发生增量渲染。

关于彗星流的文章:

http://cometdaily.com/2007/11/05/the-forever-frame-technique/



短版结论:

所有 Comet 技术仍然有效,但是,在我的情况下,防病毒软件以不可预见的方式阻碍了事情的发展,因此请确保在不同的计算机和安全模式下进行测试,以确保它是否不起作用!

streaming iframe comet xmlhttprequest

5
推荐指数
0
解决办法
500
查看次数

其他地址持续存在时,C堆地址在运行之间发生变化

堆困扰我,因为我不明白谁创造它,谁维护它以及谁决定它应该是什么...这个测试显示了我的难题的一部分:

源代码:

#include <malloc.h>
#include <stdio.h>

int a;
int b = 5;

int * getMeAPointer() {
    int * e = malloc(4);
    *e = 5;
    return e;
}


void main() {
    a = 5;
    int c = 5;
    int * d = (int *) 0x405554;
    *d = 5;
    int * e = getMeAPointer();
    printf("Address of a located in .bss is %x\n", &a);
    printf("Address of b located in .data is %x\n", &b);
    printf("Address of c located in stack is %x\n", &c);
    printf("Address …
Run Code Online (Sandbox Code Playgroud)

c heap assembly linker memory-address

4
推荐指数
1
解决办法
551
查看次数

C ++存储type_info对象的方法不起作用

我在理解返回类型typeid和实际type_info对象之间的对应关系时遇到了一些麻烦,这似乎与通常的对象不同。例如,我可以做...

std::cout << typeid(int).name() << std::endl;
Run Code Online (Sandbox Code Playgroud)

...并从程序中获得良好的行为...但这无法编译...

std::type_info a(int);
std::cout << a.name() << std::endl; 
Run Code Online (Sandbox Code Playgroud)

编译器输出:

type_info.cpp: In function 'int main()':
type_info.cpp:6:17: error: request for member 'name' in 'a', which is of non-class type 'std::type_info(int)'
Run Code Online (Sandbox Code Playgroud)

我也不能做

if(a == typeid(int)) {/*Do something*/ } //Looong error message
Run Code Online (Sandbox Code Playgroud)

我想念什么?

c++ object typeid typeinfo

3
推荐指数
1
解决办法
1868
查看次数

Javascript for ... in语句在循环数组时给出错误

我只是for...in在Javascript中尝试了这个语句.

这没有错误:

var images = document.getElementsByTagName('img');

for(x in images){
    document.write(images[x]) + " ");
}
Run Code Online (Sandbox Code Playgroud)

但是,这样做应该是它应该但在FF错误控制台中出错.

for(x in images){
    images[x].style.visibility="visible";
}
Run Code Online (Sandbox Code Playgroud)

这让我非常好奇发生了什么事.

这样做:

for(x in images){
    document.write(x);
}
Run Code Online (Sandbox Code Playgroud)

......给了我这个:

01234567891011121314151617lengthitemnamedItem
Run Code Online (Sandbox Code Playgroud)

最后有什么?我假设这使得document.images/ document.getElementsByTagName('img')数组不适合与for...in语句一起使用,因为最后x的值不对应于图像?也许for循环更好?

javascript arrays getelementsbytagname

2
推荐指数
1
解决办法
1419
查看次数

Java原始数据类型字节和类Byte

背景:我有一个任务,我将通过套接字传递信息到非常有限的程度.它可以是每个消息最多10个字节,我以为我只发送一个字节(因为一个字节足以在协议中发出256个不同的状态).现在我开始四处寻找有关这方面的信息,我遇到了很多问题.如果可以的话,请纠正我的假设错误并回答我的字面问题.

所以有原始数据类型字节(基本上是介于-128和127之间的数字,对吧?).如果我使用

byte b = 125;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)

...我得到正确的数字打印到控制台,如果我尝试分配超出限制的值,编译器会抱怨.

然后我们有类Byte,它显然是从字节数据类型(或API中的int)创建一个Byte对象:

Byte b = new Byte(20);
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)

这也产生了预期的结果,并且20被打印到控制台,如果我尝试使用高于127的数字,编译器会抱怨.

1.数据类型字节和类字节有什么区别?是否主要是因为类提供了许多方法,如类Integer为类型int做的?

下一个片段会产生奇怪的结果(对我而言):

import java.io.*;

public class ByteTest {

    public static void main(String[] args) {

        DataInputStream in = new DataInputStream(System.in);

        try {
            byte d;
            while((d = in.readByte()) != 0) {
                System.out.println(d);
            }
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        System.exit(0);
        }
    }
Run Code Online (Sandbox Code Playgroud)

2.输入被读取和输出将输入解释为十进制形式的ASCII字符(例如,1返回49),接着是另外两行,数字为13和10.这是为什么?

(如果我将d声明为字节或字节无关紧要,结果是相同的,我已经混合了从字节b获取值,依此类推,但这三行(或更多)始终是结果而我想要的只是输入回到我身边)

基本上我对此有点困惑,但最后,我想要的只是发送这些单个字节的合理方式,当我发送34时,我希望对方收到34,没有别的.

3.假设我没有使用类Byte,只想在流上发送一个类型字节.所有常规流和读取器似乎都只读取一个int(我假设它们会阻塞,直到它们至少有两个字节的输入,因为我只发送一个).我是否被迫使用DataInputStream并且 DataOutputStream我必须在对象字节中包装类型字节或者还有其他方法吗?

所有这一切让我怀疑我是否可以相信一个对象Byte真的只是一个字节的数据而已......我很困惑:(

提前致谢!

java byte dataoutputstream primitive-types datainputstream

1
推荐指数
1
解决办法
8880
查看次数

带有 es6 模块的 NPM 包的最佳实践 - 捆绑或不捆绑

编写包含 es6 模块的 NPM 包,最好的做法是将源文件分开

package.json
esm
 index.js
 Content1
  Content1A.js
  Content1A.js.map
  Content1B.js
  Content1B.js.map
 Content2
  Content2A.js
  Content2A.js.map
  Content2B.js
  Content2B.js.map
Run Code Online (Sandbox Code Playgroud)

引用index.js子文件夹中的内容,还是将其捆绑到一个文件中是更好的做法

package.json
esm
 contents.js
 contents.js.map
Run Code Online (Sandbox Code Playgroud)

似乎第一种方法对 CommonJS 模块有优势,因为它使消费者可以直接从源导入,从而跳过未使用的导入index.js(因为 CommonJS 模块不可进行树摇动),但对于 es6 模块,这个参数就消失了。

commonjs npm node-modules es6-modules

1
推荐指数
1
解决办法
1251
查看次数