小编Pau*_*aul的帖子

如何在Android画布中绘制一个填充三角形?

所以我在我的绘图方法中使用下面的代码在android地图中绘制这个三角形:

paint.setARGB(255, 153, 29, 29);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setAntiAlias(true);

Path path = new Path();
path.moveTo(point1_returned.x, point1_returned.y);
path.lineTo(point2_returned.x, point2_returned.y);
path.moveTo(point2_returned.x, point2_returned.y);
path.lineTo(point3_returned.x, point3_returned.y);
path.moveTo(point3_returned.x, point3_returned.y);
path.lineTo(point1_returned.x, point1_returned.y);
path.close();

canvas.drawPath(path, paint);
Run Code Online (Sandbox Code Playgroud)

pointX_returned是我从字段中获得的坐标.它们基本上是纬度和经度.结果是一个漂亮的三角形,但内部人员是空的,因此我可以看到地图.有办法以某种方式填补它吗?

java android google-maps android-canvas

83
推荐指数
6
解决办法
9万
查看次数

为什么绑定比闭包慢?

之前的一张海报在Javascript中询问了Function.bind vs Closure:如何选择?

并且部分收到了这个答案,这似乎表明bind应该比闭包更快:

范围遍历意味着,当您要获取存在于不同范围内的值(变量,对象)时,会增加额外开销(代码执行速度变慢).

使用bind,您将调用具有现有范围的函数,因此不会进行范围遍历.

两个jsperfs表明bind实际上比闭包慢得多.

这是作为对上述评论发布的

并且,我决定编写自己的jsperf

那么为什么绑定这么慢(铬+ 70%)?

由于它不是更快并且闭包可以起到相同的作用,应该避免绑定吗?

javascript performance v8 node.js

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

将javascript数据导出到CSV文件,无需服务器交互

如果我们在nodeJS服务器上,我们可以编写一个头,设置一个mime类型,并发送它:

res.header("Content-Disposition", "attachment;filename="+name+".csv"); 
res.type("text/csv");
res.send(200, csvString);
Run Code Online (Sandbox Code Playgroud)

并且由于标题,浏览器将为命名的csv文件创建下载.

当在浏览器中生成有用的数据时,将其置于CSV文件中的一种解决方案是使用ajax,将其上传到服务器,(可选择将其保存在那里)并让服务器使用这些头将其发送回csv在浏览器下载回来.

但是,我希望100%的浏览器解决方案不涉及与服务器的乒乓.

所以在我看来,可以打开一个新窗口并尝试使用META标记等效设置标题.

但是这在最近的Chrome中对我不起作用.

我确实得到一个新窗口,它包含csvString,但不作为下载.

我想我希望在底部标签中下载或在底部标签中下载一个空白的新窗口.

我想知道元标记是否正确或是否还需要其他标记.

有没有办法让这项工作没有将其强加给服务器?

用于在浏览器中创建CSV的JsFiddle(不工作 - 输出窗口但无法下载)

var A = [['n','sqrt(n)']];  // initialize array of rows with header row as 1st item
for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) }
var csvRows = [];
for(var i=0,l=A.length; i<l; ++i){
    csvRows.push(A[i].join(','));   // unquoted CSV row
}
var csvString = csvRows.join("\n");
console.log(csvString);
var csvWin = window.open("","","");
csvWin.document.write('<meta name="content-type" content="text/csv">');
csvWin.document.write('<meta name="content-disposition" content="attachment;  filename=data.csv">  ');
csvWin.document.write(csvString);
Run Code Online (Sandbox Code Playgroud)

javascript export-to-csv

75
推荐指数
4
解决办法
12万
查看次数

free()设置errno吗?

如果buf是已malloc()分配的字符缓冲区,是否free(buf)设置/重置errno

假设我想将缓冲区写入文件,然后释放它,因为我不再需要它了.

假设代码的错误策略是在错误时返回-1.

这是一种在不泄漏内存的情况下写出缓冲区和错误检查的正确方法吗?

fputs(buf, somefile);
free(buf);
if (errno) return -1;
Run Code Online (Sandbox Code Playgroud)

或者我是否需要考虑免费设置errno,如...

fputs(buf, somefile);
if (errno){ 
    free(buf);
    return -1;
}
free(buf);
Run Code Online (Sandbox Code Playgroud)

或者,恐怖的恐怖,

do { 
  fputs(buf, somefile);
  int save_errno = errno;
  free(buf);
  errno = save_errno;
  if (errno) return -1;
} while(0);  
Run Code Online (Sandbox Code Playgroud)

如果需要重用块,则使用块允许本地save_errno存在于各个地方.

所有这些似乎都取决于free()是否设置了errno.

free()linux手册页也是等的手册页malloc().它提到malloc()设置errno,但不是free().

用于释放动态内存GNU C Library手册页没有提到free()是否设置了errno.

所以我写了一个简短的程序来强制写入错误,这样我就可以看到free()是否重置错误,而不是.我想知道我是否应该依赖这个结果以及free()是如此重要以至于"当然它没有设置errno"这一事实.

# See if free() resets errno on a bad write
#include <errno.h>
#include …
Run Code Online (Sandbox Code Playgroud)

c linux memory-management

59
推荐指数
4
解决办法
3418
查看次数

如何在java中将时间缩短到最接近的四分之一小时?

鉴于今天的时间,例如下午2:24,如何让它到下午2:30?

同样,如果时间是下午2:17,我如何让它到下午2:15?

java

51
推荐指数
6
解决办法
5万
查看次数

在新的OS X Mavericks升级后,git错误"无法找到xcodebuild"

当我尝试运行以前工作的git命令时,我得到了这个:

dyld: Symbol not found: _sqlite3_intarray_bind
  Referenced from: /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
  Expected in: /opt/local/lib/libsqlite3.dylib
 in /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
git: error: unable to locate xcodebuild, please make sure the path to the Xcode folder is set correctly!
git: error: You can set the path to the Xcode folder using /usr/bin/xcode-select -switch
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

git xcodebuild osx-mavericks

37
推荐指数
8
解决办法
3万
查看次数

如何使用Bootstrap标签?

我试图了解如何做到这一点:http://getbootstrap.com/javascript/#tabs

我认为文档不够详细,因为我无法理解它是如何工作的.

<div class="container">
    <ul class="nav nav-tabs">
        <li class="nav active"><a href="#A" data-toggle="tab">A</a></li>
        <li class="nav"><a href="#B" data-toggle="tab">B</a></li>
        <li class="nav"><a href="#C" data-toggle="tab">C</a></li>
    </ul>

    <!-- Tab panes -->
    <div class="tab-content">
        <div class="tab-pane fade in active" id="A">Content inside tab A</div>
        <div class="tab-pane fade" id="B">Content inside tab B</div>
        <div class="tab-pane fade" id="C">Content inside tab C</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这段代码给了我想要的东西 在此输入图像描述

但是我无法在标签之间切换.

所以问题是:我应该添加什么JQuery或Javascript代码才能使它工作?示例中显示的内容不起作用:(

html javascript css jquery twitter-bootstrap

37
推荐指数
3
解决办法
5万
查看次数

在推送到docker公共存储库时,是否需要手动标记"最新"?

假设我有一张图片 me/mystuff:v0.0.1

我发现是否将其推送到存储库:

docker push me/mystuff:v0.0.1 
Run Code Online (Sandbox Code Playgroud)

latest 没有被创建,并且从另一台机器拉出它会抱怨,例如

ssh me@faraway
(faraway)  $ docker run -it me/mystuff /bin/bash
Run Code Online (Sandbox Code Playgroud)

将导致未找到错误 me/mystuff:latest

我可以添加最新的标记并显式推送到公共存储库:

docker login me
docker tag me/mystuff:v0.0.1 me/mystuff:latest
docker push me/mystuff:latest
Run Code Online (Sandbox Code Playgroud)

然后从另一台机器:

docker pull me/mystuff
Run Code Online (Sandbox Code Playgroud)

会有效,因为最新的存在.

我也发现,一旦最新存在,当推送新的编号版本时它不会自动更新.

我可以以某种方式消除这个手动标记最新的步骤并最新自动指向最新编号的版本?

或者是出于某种原因,例如允许从生产版本(标记为最新版本)中分离开发版本(仅使用vN.NN标记)?

docker dockerhub

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

在PySpark数据帧中将列和添加为新列

我正在使用PySpark,我有一个带有一堆数字列的Spark数据帧.我想添加一个列,它是所有其他列的总和.

假设我的数据框有"a","b"和"c"列.我知道我可以这样做:

df.withColumn('total_col', df.a + df.b + df.c)
Run Code Online (Sandbox Code Playgroud)

问题是我不想单独输出每一列并添加它们,特别是如果我有很多列.我希望能够自动执行此操作,或者通过指定要添加的列名列表.还有另一种方法吗?

python apache-spark pyspark spark-dataframe

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

以pythonic方式组合具有特定合并顺序的列表?

我想建构列表x由两个列表yz.我希望所有元素y都放在ypos元素指向的位置.例如:

y = [11, 13, 15]
z = [12, 14]
ypos = [1, 3, 5]
Run Code Online (Sandbox Code Playgroud)

所以,x一定是[11, 12, 13, 14, 15]

另一个例子:

y = [77]
z = [35, 58, 74]
ypos = [3]
Run Code Online (Sandbox Code Playgroud)

所以,x一定是[35, 58, 77, 74]

我写的函数可以完成我想要的但看起来很难看:

def func(y, z, ypos):
    x = [0] * (len(y) + len(z))
    zpos = list(range(len(y) + len(z)))
    for i, j in zip(y, ypos):
        x[j-1] = i
        zpos.remove(j-1)
    for …
Run Code Online (Sandbox Code Playgroud)

python

24
推荐指数
3
解决办法
1473
查看次数