小编Ahm*_*sih的帖子

安装了Xcode命令行工具的Mac OS X中的clang-format和clang-format.py在哪里?

我很难在Mac OS 10.8.5上使用Xcode 5及其命令行工具找到clang-format和clang-format.py.我没试过就试过了find / -name "clang-format.py".他们已经在这里隐藏了什么,或者我如何获得这个工具链?

(我很惊讶它似乎并不容易获得,因为clang是Apple的编译器---因为Apple使用它.)

c++ compiler-construction macos clang clang-format

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

ERR_SPDY_PROTOCOL_ERROR在nginx中的含义是什么?

我和我的一些同事得到了net::ERR_SPDY_PROTOCOL_ERROR错误.

我们使用ngnix版本1.8.0.错误不稳定(难以复制),并且Ngnix错误日志没有此错误.

您如何建议我们抓住并解决这个问题?

nginx spdy

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

如何在Vim中同步查看和滚动垂直分割缓冲区?

我在Vim中有两个垂直分割缓冲区,显示两个单独的文件,我希望它们同时显示和滚动.随着:set scrollbind在两个缓冲区的顶部,我可以得到滚动部分向下(所以当我打了zt一个缓冲,当前行跳转到顶部的两个缓冲器),但不幸的是,显示器不同步.

这意味着如果文件中的行具有不同的长度,则两个缓冲区将不会在视觉上对齐.我希望Vim显示额外的换行符,以确保长包裹线不会干扰两个缓冲区的垂直同步显示.

谢谢!

vim

32
推荐指数
2
解决办法
8218
查看次数

Chrome✗与Firefox中ES6/Unicode正则表达式中的逻辑OR序列✓

考虑以下Unicode重的正则表达式(表示非ASCII和额外BMP字符的表情符号):

''.match(/||/ug)
Run Code Online (Sandbox Code Playgroud)

Firefox返回[ "", "", "", "", "", "" ].

Chrome 52.0.2743.116和Node 6.4.0都返回了null!它似乎并不关心我是否将字符串放在一个变量中str.match(…),并且我是否通过构建一个RegExp对象new RegExp('||', 'gu').

(只需对两个序列进行OR运算,Chrome就可以了:没问题''.match(/|/ug).非Unicode也'aakkzzkkaa'.match(/aa|kk|zz/ug)可以.可以.)

难道我做错了什么?这是Chrome错误吗?在ECMAScript的兼容性表说我应该是确定使用Unicode正则表达式.

(PS:这个例子中使用的三个表情符号只是替身.在我的应用程序中,它们将是任意但不同的字符串.但我想知道''.match(/[]/ug)在Chrome 中有效的事实是否相关?)


2017 4月12日在Chromium和下游(包括Chrome和Node)修复了更新标记.

javascript regex unicode google-chrome node.js

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

Numpy,python:广播时自动扩展数组的维度

考虑Numpy阵列广播中的以下练习.

import numpy as np
v = np.array([[1.0, 2.0]]).T # column array

A2 = np.random.randn(2,10) # 2D array
A3 = np.random.randn(2,10,10) # 3D

v * A2 # works great

# causes error: 
v * A3 # error
Run Code Online (Sandbox Code Playgroud)

我知道广播的Numpy规则,我熟悉bsxfunMatlab中的功能.我理解为什么尝试将(2,1)数组广播到(2,N,N)数组失败,并且我必须在此之前将(2,1)数组重塑为(2,1,1)数组广播经历.

我的问题是:有没有办法告诉Python在尝试广播时自动填充数组的维数,而不必专门告诉它必要的维度?

不想明确地将(2,1)向量与将要广播的多维数组耦合 - 否则我可以做一些愚蠢和荒谬丑陋的事情mult_v_A = lambda v,A: v.reshape([v.size] + [1]*(A.ndim-1)) * A.如果"A"阵列是2D或3D或ND,我不知道提前.

Matlab的bsxfun广播功能隐含地根据需要填充尺寸,所以我希望我能在Python中做些什么.

python numpy multidimensional-array

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

大型对象上的JSON.parse()使用的内存比它应该的多

我生成一个~200'000元素的对象数组(使用对象文字符号map而不是new Constructor()),我将它的JSON.stringify'd版本保存到磁盘,它需要31 MB,包括换行符和一个空格 - per-indentation level(JSON.stringify(arr, null, 1)).

然后,在新的节点进程中,我将整个文件读入UTF-8字符串并将其传递给JSON.parse:

var fs = require('fs');
var arr1 = JSON.parse(fs.readFileSync('JMdict-all.json', {encoding : 'utf8'}));
Run Code Online (Sandbox Code Playgroud)

根据Mavericks的Activity Monitor,节点内存使用量约为1.05 GB!即使打入终端,我的古老4 GB RAM机器也会感觉更加懒散.

但是,如果在一个新的节点进程中,我将文件的内容加载到一个字符串中,在元素边界处切断它,并且JSON.parse每个元素单独地,表面上获得相同的对象数组:

var fs = require('fs');
var arr2 = fs.readFileSync('JMdict-all.json', {encoding : 'utf8'}).trim().slice(1,-3).split('\n },').map(function(s) {return JSON.parse(s+'}');});
Run Code Online (Sandbox Code Playgroud)

节点只使用~200 MB的内存,没有明显的系统滞后.这种模式在节点的多次重启中持续存在:JSON.parse整个数组需要一大堆内存,而在元素方面解析它需要更高的内存效率.

为什么内存使用存在如此巨大的差异?这是否会JSON.parse妨碍在V8中生成有效的隐藏类?如何在没有切片和切块的情况下获得良好的内存性能?我必须使用流式JSON解析吗?

为了便于实验,我将JSON文件置于Gist中,请随意克隆它.

javascript arrays parsing json node.js

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

Node.js Map中的最大条目数?

Map在Node.js v11.9.0 中制作了一个很大的内容并且它仍然失败了"致命错误:无效的表大小分配失败 - JavaScript堆内存不足".我的地图的键和值不应该接近Node的堆大小,所以我尝试制作一个地图并在其中插入数字键和值:

var N = Math.pow(2, 26);
var map = new Map();
for (var i = 0; i < N; i++) {
  map.set(i, i + 1);
  if (i % 1e5 === 0) { console.log(i / 1e6); }
}
Run Code Online (Sandbox Code Playgroud)

在插入大约1660万个条目后,该程序崩溃了Node.这个数字看起来很可疑接近2 ^ 24,所以替换上面的日志if (i > 16777200) { console.log(i); },我看到程序在成功打印"16777215"后立即崩溃,这比一个小于2 ^ 24.

题.Node中的条目数是否有文件限制Map接近2 ^ 24?有没有办法提高这个限制?

(NB运行节点node --max-old-space-size=4096不会阻止崩溃,因为Node使用的RAM远远小于4 GB.)

(注意2.我不认为这是一个哈希冲突问题,因为在我的实际代码中,地图包含(short-ish)字符串而不是数字.)

(注意3.在Firefox的JavaScript控制台中运行上述程序不会导致Firefox-Firefox不断添加条目超过3000万.但是,Chrome会像Node一样崩溃.所以这很可能是V8的限制.)

javascript dictionary v8 node.js

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

如何构造一个完全匹配DataScript中refs向量的查询?

设置考虑以下DataScript数据库的电影和演员,数据从learndatalogtoday.org窃取:以下代码可以在JVM/Clojure REPL或ClojureScript REPL中执行,只要project.clj包含[datascript "0.15.0"]作为依赖项.

(ns user
  (:require [datascript.core :as d]))

(def data 
  [["First Blood" ["Sylvester Stallone" "Brian Dennehy" "Richard Crenna"]]
   ["Terminator 2: Judgment Day" ["Linda Hamilton" "Arnold Schwarzenegger" "Edward Furlong" "Robert Patrick"]]
   ["The Terminator" ["Arnold Schwarzenegger" "Linda Hamilton" "Michael Biehn"]]
   ["Rambo III" ["Richard Crenna" "Sylvester Stallone" "Marc de Jonge"]]
   ["Predator 2" ["Gary Busey" "Danny Glover" "Ruben Blades"]]
   ["Lethal Weapon" ["Gary Busey" "Mel Gibson" "Danny Glover"]]
   ["Lethal Weapon 2" ["Mel Gibson" "Joe Pesci" "Danny …
Run Code Online (Sandbox Code Playgroud)

clojure datalog clojurescript datomic datascript

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

将Web Mercator磁贴重新投影到D3的任意投影?

杰森·戴维斯(Jason Davies)用“ 重新投影的栅格图块”引爆我们已经过去了几年,地图因Mapbox阻止了他的站点而停止工作,但是Mollweide水彩画和《中断的古德栅格》仍然是不错的演示。

现在在Observable HQ上,我看到了有关最新d3-geo-projectiond3-tile的文档,但是没有关于Jason所做的操作的现代示例:重新投影标准Mercator贴图集。

我如何才能使d3平铺扭曲到新的投影?

javascript gis map-projections d3.js

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

png-24和浏览器支持

对不起有一个非常基本的问题(所以不要有牛,告诉我"google it,duh").要冷静和快乐.

我应该在我的网站上使用png-8还是png-24?大多数网站仍然使用png-8或浏览器支持是否足够好以至于我可以安全地使用png-24?我有一些jquery滑块,我不知道这是否有所不同.谢谢!

-Laxmidi

browser png png-24

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