小编Sau*_*aul的帖子

比较Bitbucket与Github的优缺点

免责声明:这是一个主观问题.请遵循相关指南.

我正在考虑将源代码从传统迁移VCS到DVCS.由于拥有一个像样的GUI基于Web的前端和工作流工具是必须的,两个明显的候选人是Bitbucket和Github.

不幸的是,我对他们中的任何一个都没有深入的经验,所以我真的很想在潜水前得到一些第二意见.特别受欢迎的是从团队/业务角度观察日常使用和对生产力有影响的功能.

你对它们中的任何一个有什么经验?有什么特别的亮点或烦恼吗?

git dvcs github bitbucket

41
推荐指数
4
解决办法
3万
查看次数

检测GPS坐标是否落在地图上的多边形内

如标题中所述,目标是有一种方法来检测给定的GPS坐标是否落在多边形内.

多边形本身可以是凸面或凹面.它被定义为一组边矢量和该多边形内的已知点.每个边缘矢量进一步由四个坐标定义,这四个坐标是各个尖端点的纬度和经度以及相对于起始点的方位.

StackOverflow上有一些与此类似的问题,但是它们仅以一般术语和2D平面描述解决方案,而我正在寻找支持WGS 84中纬度/经度对定义的多边形的现有实现.

进行此类碰撞测试的API或服务是什么?

math gps geolocation geospatial coordinates

32
推荐指数
3
解决办法
4万
查看次数

为什么jQuery JSON解析器需要双重转义为反斜杠?

我无法绕过JSON数据格式的特殊功能.

情况如下:我有一个包含Windows(叹息)目录路径的字符串,反斜杠转义.出于某种原因,jQuery JSON解析器认为单个转义是不够的.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">

var success = jQuery.parseJSON('{"a":"b:\\\\c"}');
var failure = jQuery.parseJSON('{"a":"b:\\c"}');

</script>
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释是什么让这种双重逃避变得必要吗?

javascript jquery json data-structures

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

为什么Python unicode字符串需要特殊处理UTF-8 BOM?

出于某种原因,当从UTF-8文件中读取unicode字符串时,Python似乎遇到了BOM问题.考虑以下:

with open('test.py') as f:
   for line in f:
      print unicode(line, 'utf-8')
Run Code Online (Sandbox Code Playgroud)

看起来很直白,不是吗?

这是我的想法,直到我从命令行运行它并获得:

UnicodeEncodeError:'charmap'编解码器无法对位置0中的字符u'\ ufeff'进行编码:字符映射到 <undefined>

对Google的简短访问显示,必须手动清除 BOM :

import codecs
with open('test.py') as f:
   for line in f:
      print unicode(line.replace(codecs.BOM_UTF8, ''), 'utf-8')
Run Code Online (Sandbox Code Playgroud)

这个运行正常.但是我很难看到这方面的任何优点.

上述行为背后有理由吗?相比之下,UTF-16无缝工作.

python unicode io utf-8 character-encoding

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

为什么delete会保留Array元素?

今天我偶然发现了一个关于Stack Overflow的问题 - 如何从javascript关联数组中删除对象?.让我感到震惊的是,接受的答案既误导又反对,所以我强调了可能的陷阱.

然而,在纠正错误答案的同时,我意识到我不知道为什么delete保持元素分配 undefined而不是删除是有意义的.

var elements = new Array()
elements.push(NaN)
elements.push(NaN)
elements.push(NaN)
delete elements[1]
console.log("number of elements: ", elements.length)   // returns 3
Run Code Online (Sandbox Code Playgroud)

它背后有理由吗?

javascript operators

11
推荐指数
2
解决办法
4627
查看次数

如何在Red5中处理多个视频流?

我正在编写一个Red5应用程序,它通过RTMP向Flash客户端提供一对一的视频聊天.

遗憾的是,我能够找到的大多数教程都是粗略的,而且当涉及API概念和预期用法时,Red5本身的文档往往含糊不清.

简而言之,我有点卡住并寻找关于Red5 ApplicationAdapter实现的提示.Gnarly细节如下:

  • 首先,这些联系有两种:访客和顾问.访问者应该能够指出它希望与哪个顾问沟通.只要顾问不忙于为另一个顾问服务,顾问就会直接与请求的访问者建立联系.

  • 显然,每个RTMP连接都有双向流量:发送和接收视频.从服务器的角度来看,连接带来了一堆视频流,这些视频流可以通过请求分配接收端点.

  • 由于几个视频对话可以同时进行,因此应用程序的主要任务是处理访客流到顾问的映射,并提供一个列表,通过AMF指示每个顾问的状态(忙/可用).

所以,总而言之,我非常清楚我的目标是什么,但如何用Red5实现它仍然有点神秘.

希望有人可以在以下任何或所有方面启发我:

  1. 建立连接类型(访客/顾问)的最简单方法是什么?

  2. 应该使用哪些API类来实现持久的,全局可访问的活动连接列表,以报告每个顾问的状态?

  3. 当目标是将特定访问者连接到选定的顾问时,如何动态切换接收端点?

java flash video red5 rtmp

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

将堆栈字符串与堆字符串连接会产生奇怪的结果

我确信以下有一个合理的解释,但我有点困惑.

问题在于创建a _TCHAR[CONSTANT],a _TCHAR*,连接它们并返回结果的函数.

由于某种原因,whatTheHeck()来自_tmain()回归的胡言乱语.

_TCHAR* whatTheHeck(_TCHAR* name) {
    _TCHAR Buffer[BUFSIZE];
    DWORD dwRet;
    dwRet = GetCurrentDirectory(BUFSIZE, Buffer);
    _TCHAR* what = new _TCHAR[BUFSIZE];
    what = _tcscat(Buffer, TEXT("\\"));
    what = _tcscat(what, name);
    return what;
}

int _tmain(int argc, _TCHAR* argv[]) {

    _TCHAR* failure = whatTheHeck(TEXT("gibberish);")); // not again ..
    _tprintf(TEXT("|--> %s\n"), failure);

    _TCHAR* success = createFileName(TEXT("readme.txt")); // much better
    _tprintf(TEXT("|--> %s\n"), success);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

相反,当与堆一起工作时,按预期工作.

_TCHAR* createFileName(_TCHAR* name) {
    _TCHAR* Buffer = new _TCHAR[BUFSIZE];
    DWORD …
Run Code Online (Sandbox Code Playgroud)

c++ windows string memory-management tchar

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

"=="的对象相等的标准定义是什么?

这里似乎是共同的认识之间的不匹配==,它实际上做什么.为此问题提供一些背景知识:

typeof new Number(1); // returns object
typeof new String(1); // returns object
typeof 1;             // returns number
Run Code Online (Sandbox Code Playgroud)

看似,这两个Number和String是的object类型.这并不奇怪.然而==,true当操作数相等而不管它们的类型时,事情会变得有趣.

根据一个有点权威的说明:

运算符尝试使用对象的valueOf和toString方法将对象转换为原始值,String或Number值.如果此转换对象的尝试失败,则会生成运行时错误.

简而言之,==应该按原始值比较对象.出奇:

var numa = new Number(1);
var numb = new Number(1);
var stri = new String(1);

numa.toString() == stri.toString(); // returns true, as expected
numa.valueOf() == stri.valueOf();   // returns true, as expected

numa == stri; // returns …
Run Code Online (Sandbox Code Playgroud)

javascript types operators type-conversion

9
推荐指数
2
解决办法
379
查看次数

imagecolorsforindex()会导致"颜色索引超出范围"错误的原因是什么?

当修补程序调整大量的JPG,PNG和GIF文件时,PHP会出现意外丢失,并显示以下错误消息:

imagecolorsforindex()[function.imagecolorsforindex]:颜色索引226超出范围

相关的代码片段是:

protected function preserveTransparency($img, $resized, $ftype) {

    if (($ftype == IMAGETYPE_PNG) || ($ftype == IMAGETYPE_GIF)) {
        $tidx = imagecolortransparent($img);
        if ($tidx >= 0) {
          $transColor = imagecolorsforindex($img, $tidx);
          $tidx = imagecolorallocate($resized, $transColor['red'], $transColor['green'], $transColor['blue']);
          imagefill($resized, 0, 0, $tidx);
          imagecolortransparent($resized, $tidx);
        } elseif ($ftype == IMAGETYPE_PNG) {
            imagealphablending($resized, false);
            imagesavealpha($resized, true);
            $transparent = imagecolorallocatealpha($resized, 255, 255, 255, 127);
            imagefill($resized, 0, 0, $transparent);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果已经返回颜色索引怎么可能不存在imagecolortransparent?

php gd image-manipulation imagemagick image-processing

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

估计处理器频率如何影响I/O性能

我正在研究可以在消费者硬件上运行的专用I/O软件.从本质上讲,它归结为保存大量数据流以供以后处理.现在我正在寻找一个模型来估计x86上的性能因素.

以新款Macbook Pro为例:

高速Thunderbolt I/O(输入/输出)技术可在两个方向上提供惊人的每秒10千兆位的传输速度

1.25 GB/s听起来不错,但当天的大多数处理器都是时钟2 Ghz.只要每个网络通道只能分配一个核心,多个核心就没什么区别.

因此,即使软件充当微型操作系统并且仅限于网络/磁盘操作,流入存储的数据量也不能超过每秒[1]块.虽然这暗示了粗略的性能限制,但我觉得它远远不够.P / (2 * N)

在处理器频率和其他硬件细节方面,应该考虑哪些其他因素来估算I/O性能?为简单起见,假设存储在所有情况下都能立即执行.

[1] P - 处理器频率; N - 算法开销

language-agnostic io performance network-programming low-level

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