小编Del*_*ani的帖子

PHP使用的预定义HTTP错误数组?

我有一个error.php附加的文件ErrorHandler将HTTP错误状态作为GET变量.是否有一个我能找到的数组,它有一个状态代码到错误名称和描述的映射,或者我是否必须自己编写一个?

php http

20
推荐指数
2
解决办法
5966
查看次数

JavaScript类型数组:64位整数?

在Firefox 4和Chrome 7中实现的JavaScript类型数组是在JavaScript中存储和处理二进制数据的一种非常有效的方式.但是,当前实现仅提供每个成员最多32位的整数视图,使用Int32ArrayUint32Array.是否计划实施64位整数视图?如何实现64位整数视图?它们会慢多少?

javascript typed-arrays

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

什么是MySQL外键?

在Stack Overflow的答案中,我看到了这段代码:

CREATE TABLE Favorites (
    user_id INT NOT NULL,
    movie_id INT NOT NULL,
    PRIMARY KEY (user_id, movie_id),
    FOREIGN KEY (user_id) REFERENCES Users(user_id),
    FOREIGN KEY (movie_id) REFERENCES Movies(movie_id)
);
Run Code Online (Sandbox Code Playgroud)

我以前从未使用过'外键'关系关键字.

  • 它是什么?
  • 为什么人们使用它?
  • 它是否提供除语义之外的任何好处?

mysql

15
推荐指数
2
解决办法
7528
查看次数

有人使用firefox XUL IDE吗?

我对Firebug,XUL调试器或JavaScript编辑器不感兴趣,但对XUL表单设计却是一个真正的WYSIWYG IDE.

ide firefox xul

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

如何格式化类似Stack Overflow信誉格式的数字

我想将数字转换为字符串表示形式,其格式类似于Stack Overflow信誉显示.

例如

  • 999 =='999'
  • 1000 =='1,000'
  • 9999 =='9,999'
  • 10000 =='10k'
  • 10100 == '10 .1k'

javascript number-formatting

14
推荐指数
2
解决办法
9093
查看次数

将头文件放在/ usr/include子目录中使用automake?

如果我编写一个库,并包含用于开发的头文件,并且具有src/Makefile.am如下所示:

AM_CFLAGS = -std=c99 -Wall -Werror -Os
lib_LTLIBRARIES = libmylibrary.la
libmylibrary_la_SOURCES = a.c b.c
include_HEADERS = a.h b.h
Run Code Online (Sandbox Code Playgroud)

一切都很好.然而,a.hb.h被下直接安装/usr/include(或/usr/local/include).如何安装它们,在我的库特定的子目录中,例如/usr/include/mylibrary

automake autotools header-files

14
推荐指数
2
解决办法
9153
查看次数

用于解析GNU风格的参数的库?

我注意到大多数GNU核心应用程序的基本"风格",其中的参数是:

  • --longoption
  • --longoption=value 要么 --longoption value
  • -abcdefg (多种选择)
  • -iuwww-data(选项i,u = www-data)

他们遵循上述风格.我想避免编写参数解析器,如果有一个库使用上述样式执行此操作.你知道吗?

c linux arguments gnu

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

git stderr输出无法管道

我正在使用bash和zenity为git://链接编写图形URI处理程序,并且我正在使用zenity'text-info'对话框来显示git在运行时的克隆输出,使用FIFO管道.这个脚本长约90行,所以我不打算在这里发帖,但这里是最重要的一行:

git clone "$1" "$target" 2>&1 | cat >> /tmp/githandler-fifo &
cat /tmp/githandler-fifo | zenity --text-info --text='Cloning git repository' &
Run Code Online (Sandbox Code Playgroud)

我正在使用FIFO而不是直接管道来允许它们异步运行并允许在zenity窗口关闭时杀死git.

问题是,git输出中出现的唯一一行是第一行:

Initialized empty Git repository in /home/delan/a/.git/
Run Code Online (Sandbox Code Playgroud)

带有计数对象等的其他行不显示或显示在终端上.

目前的原因

目前关于为什么这不起作用的共识似乎cat是非阻塞并且在第一行之后退出,只是将其传递给zenity而不是其他.我的目标是强制阻止读取,并让zenity的文本信息对话框逐步显示所有输出.

git 在stderr上输出进度消息(除了"Initialized"消息之外的任何内容),但是当我尝试将stderr管道传输到文件或与stdout合并时,消息就会消失.

修复尝试1

我试图在C,面包和bwrite中编写cat函数的两个阻塞版本,如下所示:

#include <stdio.h>
main(int argc, char **argv) {
    int c;
    for (;;) {
        freopen(argv[1], "r", stdin);
        while ((c = getchar()) != EOF)
            putchar(c);
    }
}

#include <stdio.h>
main(int argc, char **argv) {
    int c;
    for (;;) {
        freopen(argv[1], "w", stdout);
        while ((c = getchar()) …
Run Code Online (Sandbox Code Playgroud)

git bash pipe named-pipes zenity

13
推荐指数
2
解决办法
9092
查看次数

获取相对于元素的内容区域的鼠标位置

当鼠标移动到一个元素,我想相对于元素的内容区域的左上角光标的鼠标坐标(这是不包括区域填充,边框和轮廓).听起来很简单吧?到目前为止我所拥有的是一个非常受欢迎的功能:

function element_position(e) {
    var x = 0, y = 0;
    do {
        x += e.offsetLeft;
        y += e.offsetTop;
    } while (e = e.offsetParent);
    return { x: x, y: y };
}
Run Code Online (Sandbox Code Playgroud)

并且我将获得相对于元素的鼠标位置element:

p = element_position(element);
x = mouseEvent.pageX - p.x;
y = mouseEvent.pageY - p.y;
Run Code Online (Sandbox Code Playgroud)

这不太正确.由于offsetLeftoffsetTop是一个元件的"外"左上和"内"左上其偏移父之间的差异,则总和位置将跳过所有层次结构中的边界和补白.

这是一个比较,应该(希望)澄清我的意思.

  • 如果我得到元素的"外部"左上角和偏移父母的"内部"左上角之间的距离总和(outers减去内部 ;我现在正在做什么),我得到元素的内容区域position,减去偏移层次结构中的所有边框和填充.
  • 如果我得到元素的"外部"左上角和偏移父母的"外部"左上角之间的距离总和(outers减去outers),我得到元素的内容区域的位置,减去边框和填充期望的元素(关闭,但不完全).
  • 如果我得到元素的"内部"左上角和偏移父母的内部"内部"(内部减去内部)之间的距离总和,我得到元素的内容区域的位置.这就是我要的.

html javascript

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

使用addEventListener与旧式属性的readystatechange?

readystatechangeXMLHttpRequest对象的标准事件,因此应该能够使用函数监听事件

r.onreadystatechange = function() { ... };
Run Code Online (Sandbox Code Playgroud)

以及

r.addEventListener('readystatechange', function() { ... }, false);
Run Code Online (Sandbox Code Playgroud)

但是,后一种方法似乎只适用于Firefox和Chrome,但不适用于Opera,它不会引发错误但只是没有效果.为什么会这样,这是否是正确的行为?

javascript xmlhttprequest

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